200000
99086 87780
121310673 281409244 660337682 458894654 616812932 962756991 420259038 394363156 470706535 705951555 186402078 931740592 248470175 586954253 728407067 142404781 646674786 341386672 266668485 750172600 560636697 275803722 534772917 887860158 422115357 808462020 317641409 752519253 470131915 243442766 730046509 876763948 759074815 471217368 138826389 514183189 128997742 510553709 889966912 766184339 907752020 805531632 896156819 775750273 463969720 856239435 622314565 798583625 226551638 714495851 842057039 725813538 171905316 349266499 916339507 445706495 451630102 261226088 642291150 957950270 879940875 830985050 112110429 562530601 942975134 652728565 998704633 671931378 520697154 167876656 910574268 464514387 715061565 593634033 781500740 183745374 770795757 708833031 240985410 749693629 790591523 225738917 576880895 386508793 314918290 139902283 506045330 774133706 834009916 990865772 357356304 309403935 969175677 177265141 266401362 812902870 412365125 711003261 284544518 197698265 282804304 474832457 221376416 543590908 592434303 787460874 461419303 215342552 598453358 628879412 309073909 260954298 934879930 359485265 655794339 552858105 417820233 874470444 289331599 566423858 182013430 413668867 480343183 898904776 133616763 714547707 948702168 312983551 556439994 397784186 235656113 972656586 689149402 500521082 492304397 157275909 720341484 189663855 326549914 897463715 264901032 484108358 389740352 818237769 399752163 682879322 192688812 171884930 838826681 702745868 901472849 108726386 481897418 389051985 170933798 860687608 974682827 373030155 872773926 678920217 685167405 294920904 642931890 993397720 241887417 569280776 786148843 786524256 416452519 990401078 445971236 680221635 990684641 322227749 195921958 765847204 545591685 610130970 996961330 913472880 510548871 616914620 838311312 282053770 225645187 100745579 852509206 599626720 226524308 221466808 653531949 965599587 301994650 346979626 685363321 512222776 995982107 593841584 845373539 117403652 916651245 426475167 140340970 717340390 579574130 360757058 289878694 132425935 652642352 304565002 330650965 113074637 567693912 788697271 635046085 384954447 689789437 522307013 870777699 109025774 627782580 216852944 702003323 895351348 876358795 443972848 471060960 773379072 992150607 892330593 230378299 447983373 459103197 610554487 456111233 877095998 477642427 321026687 413392501 576899927 210003519 803752938 464292454 222781963 408765893 722870442 253006516 420382931 346961437 774245115 408264595 646342214 326174928 130300238 151027101 445062796 590027742 166035426 499283985 446040303 355457679 639178607 308590717 497376219 720703729 738737000 641797688 917354744 279137776 875471596 260625040 455474305 329437341 232453620 509615367 186231717 206389727 400149091 935556011 532323167 637502476 953101723 248798867 713747354 551079451 929771069 390922408 216768354 243736272 994072288 802286004 274061769 137499993 500776319 372149315 171163020 267773054 706197865 235713655 911961343 241371322 965607297 181950817 476061843 843226740 280449808 736239105 755549964 339542242 623397149 269252994 892631209 199564481 996740301 270669532 771457437 419223118 161286322 234347241 470884309 676362714 569882023 753464698 450424770 723962731 834429893 525892230 306866117 540974721 804338492 832999551 248662623 291692514 928843246 656366038 943247311 138939252 807324713 651667306 606968557 755405673 632968574 355678565 735003551 229032030 817257630 402526763 173725578 624365641 644479635 629458050 532853014 510346751 997941738 804901157 677506131 276354969 679825813 959297093 166915085 828519178 347602618 123334686 674523452 231585034 233934649 972159040 883245931 221983990 150145436 454414361 517058685 331867061 843578813 754744813 698382164 169810200 162065443 243802166 328669751 516998258 791411838 925971100 521694322 100336117 879541383 992854493 547281555 631878553 914970282 406928482 807704369 604163842 471074259 668004688 512778696 695970142 434860760 774083544 368288001 573682297 563917368 362847007 920986812 458300025 643821489 967790450 859343432 422871100 137839770 989488428 390871723 328907177 577687889 590223410 146234971 251063175 468825327 848136782 497764991 722278131 757370091 844815119 259040271 394181409 628200596 968635281 814484418 436346044 720648570 821520568 469118585 583556389 288180227 850458197 431010737 666343380 989225387 448315188 380186496 311405612 318897792 386991101 864221221 188173374 985331802 112321513 426249624 428384961 227883253 460520288 858709256 136857041 228834874 936525427 158319031 220841517 845750571 612162087 189364894 941309469 375486378 464368030 126677357 474826083 635134520 179392001 559057686 377732140 610634001 260261236 595202089 338340285 588999836 424576235 452252345 419675556 348667968 125508865 342570145 711285662 168043004 629822960 217285100 375076416 594264624 873359204 490016916 430974117 982756008 508066115 588009462 315111213 749027721 234153435 961958941 252244456 808942352 412832133 101094475 730769666 209640203 997288564 818050316 590925010 418327418 714111935 206354179 202729319 312366273 329138965 562156290 838971349 773141208 684949222 313105338 675445171 337343085 305352489 661753980 801467662 312634602 721376785 630818183 687663417 660319409 693934204 315495650 669058798 959351158 304712366 465187205 630913177 921222520 132892330 785766971 659190807 268055424 555832342 517194596 920437294 896628530 993770367 186204126 515200389 403308970 755555197 611214819 369321665 681472633 826736182 901144809 315504537 779852850 139000590 573898003 864001917 671236819 994907636 251458891 498053591 118470328 749711700 117089653 654737384 968846068 658705936 486344209 687832729 410346342 972752964 826876176 575065787 504933937 176352571 784555909 444487036 556547945 896471601 674982868 631835886 501899184 402733924 850091756 598704400 154408312 518171661 937282179 634365580 744668655 117825211 894387381 645107890 440399874 402856265 302444532 936197859 268984525 267946041 313905348 612043970 972879335 992012679 478097497 869968863 619394338 196604685 458879196 157388402 192674297 681079202 610897852 229932170 805559677 593004198 575154419 544583624 659122027 338884856 548317927 477117101 719476762 423367284 710780031 862778167 457411658 814721130 596301527 124851386 642029754 891759392 570772598 607497407 615029997 241682420 643784867 475740957 236417733 713142205 573246573 256047235 327091872 634317227 554556907 865880991 911808175 777235649 254531974 338632373 963656202 545312762 445825370 971100524 778773746 395835583 810245810 273993162 969977204 403360144 294673408 613206740 988097415 721028158 806341175 196332854 108454113 320561864 250264339 581118991 902397270 261772701 311932656 789778545 130298852 946915887 464684517 329628154 225706113 484447615 565924136 907080857 714461652 726578309 834376325 688945509 775658758 198310697 320861350 692248837 995538535 998093271 103212674 253480799 695281563 551679100 200496098 726608627 908960942 603429513 571215591 493260875 612521778 882874906 505211019 455345425 147650193 722776680 109194298 703147992 714065091 606142357 304535470 184369421 530796350 410876540 563639110 600462510 571648269 679813569 494904639 789018206 553153874 394337441 277614848 952752222 885990251 808767110 387460236 264293736 214687937 449621151 258254334 968444726 243809733 973966806 356605546 464758470 886421178 152117522 139381524 616622697 357780560 136496719 728296996 833996752 307131631 921011627 714809808 218651813 392258705 783544585 348257424 988056510 885525553 641962040 180474851 109498997 341401311 627839057 750756419 502987764 361558195 728859666 123995053 489184683 117388782 365555077 464480372 306392983 944909040 808453903 957755431 242003870 879126921 354492391 274667946 821471555 375421680 370142648 236187220 592307058 221245902 349461251 223499548 715712081 503688809 843557404 273641408 753741727 985127267 189531634 656394671 171038613 704717361 799188345 398622679 532437274 478502965 652047821 694935013 415542912 564993785 933810280 883368878 408858128 326188820 520293086 654005754 948258043 313368172 300598471 892374321 857406390 319756234 195352889 471851225 445630652 169504260 907112454 284035769 187788158 228528179 397382408 322643345 549371582 712887997 877368849 763731311 364569879 327016600 436482526 214662285 542472124 822081220 139908225 813792226 159945171 362926438 489571902 385296087 342203425 580700494 646672760 526219310 479316826 448484121 571746249 752044713 978536249 639620471 882266673 989349386 227955849 312114037 964378760 480336124 799940501 782280948 197033077 213102872 693742732 803557282 593735403 301073249 450886402 725335829 242978672 421088144 322872080 516099632 805582031 170118235 526784410 511139698 257614485 655312295 251480652 732943259 201892812 521883115 942744182 628561823 954873422 915682909 472104278 250929670 890042700 520932929 952911665 428294678 500037695 335492511 245373292 797987568 729521747 730963807 805389326 316962982 681672201 753320916 492037482 889294209 898036591 887764078 169649010 130127277 576624143 950925836 571745673 792558203 961488545 300680537 959570043 443728734 727820064 465883212 257181856 361163776 959700262 471198813 247181241 168781486 109364728 793160408 968874470 723903170 799413955 453033012 968751702 974720019 586750849 406093940 502187212 142420004 842605399 881547075 742147027 144411439 810762651 385763924 870521626 662220601 782229685 240340654 348149183 916011077 626382935 489641167 763189560 640834861 532080616 407138973 383810139 258386208 448716118 760465864 157310305 486770916 879109873 650937229 209947177 671663007 403205382 164769601 186397488 636759136 962072995 813587508 159008998 118311653 911150122 429103720 474290501 158511105 799335391 118342513 551687099 835514640 366327022 457948769 572728796 996749667 376192115 737917341 358754188 827244279 618545664 328011546 371510518 565837330 266773287 689918661 561087942 555073676 515002126 225607622 432154766 323326936 178524512 346160822 318848913 552890105 717262334 129468726 316287149 218731413 785748673 223191001 516289639 639912021 793763660 777011391 760969973 667129662 975122600 730782226 105507358 383123330 359844890 398975053 450863324 777960117 778116420 272449119 379717066 227063252 810315911 766701287 838513190 929107094 275345104 884416601 896171100 379592559 320828812 516382618 560950485 676842188 337265685 998555457 435066039 181989361 380315113 372044090 989326259 203524998 941681533 586721351 897186800 742433527 612322351 215761678 326162007 894019472 521199192 680552081 325947098 830532941 488701605 355120731 438148040 287575619 624968500 715464384 207485368 268513007 499337650 526757404 917259118 216390679 776091514 865573113 409106482 354805586 542492041 713904308 686082969 106260941 501243760 457278314 543055953 426887559 407659511 957062209 271485133 945012089 123708821 923758719 212686139 499132621 832185498 552351897 855239424 284225422 968729071 763158910 294351556 439887166 477932742 386167027 617062455 866651534 208051414 134790611 900924318 122807622 614349559 652910495 633137261 113762211 663577159 613695007 661516403 960008249 154854444 796702799 999666803 279173028 972081232 119413434 535481208 517608896 394683672 964877471 381405612 339894537 913588414 423256295 497281896 874635320 788154207 584082707 367574938 207460889 910699062 877691465 772925106 831065792 932361971 527300187 445048127 185571988 646396956 139568107 511133723 966166228 129548074 635582318 479574648 942457290 281420006 346012007 927849081 448977925 100911964 789528098 837893210 791492230 466244148 243811711 705834784 719720045 680988429 719468689 875827248 520412215 999390655 376244214 914859566 122493452 424379523 521009627 562011354 329382395 192936654 257828476 887312965 970119406 790389852 284205875 131230682 881404950 170295647 919676967 780982182 225795955 183099565 657828065 652990391 614862664 348884265 689805583 296839303 906376785 676269304 151957112 766657808 724712376 558032520 576577249 381566387 828054632 276650488 487302020 396712415 912670353 443174407 270692870 919575444 793018784 395528387 322063904 750499691 646131256 122877305 154806645 648303448 175053969 992342072 696893529 657589299 536532978 725885530 737436830 822095635 165187593 550215334 181192820 326568596 101213083 412942437 449418109 366545280 154513645 755351857 139497928 832306710 919198089 140512807 782336871 368583636 342985577 534801487 398018324 921209565 997398749 765311435 242928239 460211565 983082113 113183414 595488417 798277135 792254812 957174478 403170706 188862097 704399433 498726434 291074155 394175424 380218066 158913939 603434571 773349359 695222455 594567981 587323968 605803458 611801803 688732859 571797364 284735675 137106296 193998341 875032397 614703581 998815699 296454702 544745667 975033277 563460520 108717966 995091490 503007074 115867027 132336210 338758278 193675665 589320076 843948808 771260804 981555225 586847904 987334366 514275143 146995163 479465352 628612919 399824631 245105059 912575824 864432702 654427233 905916488 729239674 721075966 365336954 445675726 304503631 840192174 213882741 358190260 161082359 190981155 131614413 519424966 650918840 837870961 530814242 276849739 441969789 265374643 572305734 553904679 405961859 518484426 863899422 819365772 811962671 720719637 537781344 376451462 541600792 508484322 523775872 688174227 943180242 424547277 993811190 876029447 414065955 873515194 650625586 735052798 902212009 809067763 821364056 652999016 470177684 607603568 604000458 395453268 190630383 833948216 746190801 428002157 881779435 193601570 528908023 351412474 521389745 683018745 267023437 405273998 769963423 235817246 836306057 596537346 304018060 848659893 488957574 959921324 462633166 884975351 177993745 792992002 307887279 373402432 821411499 251089757 547716906 430650607 680691501 916967122 832267087 300526235 707594471 815013367 108791470 199392331 792331710 511608147 315427636 612538603 528830679 501884903 338802752 667486319 130012271 331384553 394564479 783329521 481162210 501777065 581590417 700484163 119066753 774944044 724573001 739174658 691117016 590680591 919887867 178944516 443824468 164721986 893345573 725300635 488422480 979417855 568988354 351232825 157573760 589754542 554096237 553823408 993954806 967681914 125050334 444761878 350224981 641393568 776995854 339390816 540211310 902160900 441327495 736706899 739782503 582188618 977475507 697336557 189307446 496573649 424456851 848151492 442307798 732888129 665510896 526401517 233201451 885744297 933185927 908718753 188117159 746818794 413667859 770987984 406655954 436662156 616662014 190667546 599250929 217713975 233732285 322852920 564966029 464638759 292661283 650124455 603001634 255569561 926431823 641737177 970725356 897721521 684085699 841004301 181412303 790072232 838065000 851482973 646199167 330709440 606040926 199199624 325297110 488030155 882132022 967319684 379013299 195883461 152091512 294600390 552838230 241418712 358158850 569816589 120152712 771494526 393661884 429585772 318993638 457693588 234671683 259294538 802511513 105089393 329921696 348553908 537042851 276033058 637575295 111676790 115911364 656625794 768087453 769383447 545484042 119650569 746371221 208485994 774918378 654503815 616002436 642846735 625363686 845901277 881132449 384298212 812840965 499079239 839008812 467401911 244168875 739402183 599947439 564655499 788671615 987014546 205657926 295097355 346955122 312688674 465734279 209363798 233088827 325004795 785074553 761575721 613910807 998487247 884494371 979743083 261746370 205230577 719030961 931120382 526210141 607720229 229882767 870868748 857528783 194729902 507020011 988052648 860181550 998009351 608170514 614328785 136858412 606357918 352341399 269828528 156802934 379121892 112280043 486399972 837732701 550544226 507363342 414131313 327860620 869258646 473969135 281225335 735813657 800393488 626870076 137340944 641953294 333056886 197579935 973203977 501467819 644823458 541712823 340137614 115301074 821641828 352475044 944476202 940575912 453224265 494203922 110547806 432633527 139641841 997861166 507795958 751116639 858807531 440105979 746933152 207347248 683085067 143244804 339787471 971294583 144792700 498944867 916696256 358335810 646980426 634011133 249739621 253693827 233466119 114581727 299093626 922542816 247826226 942762517 215313977 911558269 762709120 386339907 593803979 598072027 909073394 768306288 342040792 775387399 184533380 635331887 209615646 489455754 956188026 639174064 896606350 614756526 493803980 140758945 178727178 235420573 401615808 667476187 205709000 268089402 318711408 813216541 248354173 550640311 815616477 743693686 899580461 959973139 334100205 523699938 781795542 309963752 737802549 406943350 632437816 295041340 420075297 689191635 775906246 228738699 936851205 782565514 814716604 340212438 404063707 736334473 256400747 598542827 797605985 964065367 798168662 593370987 891975714 154609806 558006270 709356083 549793404 943522647 973533893 887265133 128842973 980227689 312163212 949061750 225591078 108710904 258400624 645126207 511333532 117043667 859274920 601594882 148949636 568079886 561130847 490574309 550502352 623067096 563790374 502671767 284492594 881330625 225773524 423577679 143087850 649437176 410141258 371098999 474210399 811116522 179054005 408621688 567610325 827292157 864196335 853406566 825073868 395509207 577695794 267351181 238391794 339807051 885243524 949304889 784523099 987308113 196245328 758694977 716188086 286559335 971761090 149252465 603511562 990755038 376164525 810074760 109190308 940877742 546489677 782601185 616473233 999292264 690202479 805482801 422132374 334320163 749074288 276439855 356498771 550077294 876570354 842233993 279628862 116032014 357334938 278579678 274469683 516601281 274189607 598930114 302426184 683147579 615672066 339398979 344957610 184505652 328087363 120206550 912247577 891779767 229449924 403534875 778745867 793672282 531886899 438767195 609888488 425633519 635362331 199527085 605742357 156480182 519682239 279336859 328831455 546105330 902317529 320420498 275637593 708749890 684460659 552792806 753427333 882407536 950482129 460467960 240580714 218859490 313052555 646545438 693675002 671153083 139323978 464408915 115265870 546244927 448422063 933479673 623920527 602038082 831842618 296206916 857601203 261150342 832801703 155648860 590704653 272123764 888105387 231116361 479125364 486672235 446136775 423285732 767986423 418397580 581337631 606300997 160109214 802726911 460193021 216320703 644436715 399870594 866368030 230698560 920149717 674242438 191548787 603205259 674066445 757327197 780535595 420276594 853573405 611850374 675250289 762706209 779333835 215848514 865449984 523939561 601303290 326508150 994079813 292069710 853244046 211584476 193863821 676241323 585416792 277885973 956721580 704974020 797035134 768182650 708000782 636681501 668154713 842548610 402890792 758777026 918352923 126658315 361940045 955768933 805745276 870566091 508230348 902811586 655203955 482785639 724999019 132536511 826140056 474614206 842127119 537134036 661878227 384408876 812670780 793375310 830684607 967593531 267176100 287850808 551778745 862767611 983739429 203923881 261020070 997833129 954777765 446665809 748320791 109569045 392360964 287561897 915414244 414962041 711455326 618678607 455060290 471146808 239060123 956618320 280776638 475602426 303419666 527932835 207183647 575523302 872355349 137298239 358453953 294426232 202839352 299776344 595836503 896312493 932058552 595596558 794118612 537762485 820259141 865435253 132483928 947070115 412848916 416054566 531166868 432623659 304184045 543907890 806419194 456525124 503489531 514837309 740246288 964898175 706298763 507000714 297132025 761116591 688727508 870143018 880006966 858361640 103754342 254272667 950462178 918639684 972521843 474496557 588902269 582740946 684457156 843290132 199376495 453623782 646194180 222816061 804731548 981048560 179326808 658243953 806276038 400406987 285214723 411057331 285195789 640593353 266962115 776126761 737385068 704829732 890376363 949564514 402019799 470443588 348854723 247326001 676153183 898992356 899609136 799625855 790198938 167629984 247154559 603755420 207278438 564345319 468489789 106495413 142022976 816391414 586873032 433744803 435266559 331816056 311517812 153481220 192709877 797468518 292917438 777243963 226295743 703894452 798759380 753144259 873484886 714662111 415471615 998635861 460485989 521336820 859596858 616786769 217963087 984019240 593437101 171841468 407580783 263473234 361442371 154705763 742793660 532498683 370275544 579624025 645237665 988775876 100082388 846156706 315266397 839179805 829748743 732106273 861751382 399513613 714778769 461627423 789724770 252525613 223589911 313596271 245783481 705707054 180340258 137684926 473534964 628508294 620718558 279734839 835368208 131221360 268388168 434989241 834579393 870725223 521261357 500763976 642386803 905712791 557516590 917343565 493315573 273122436 468776930 419625217 390431683 506699121 895838862 572436373 200532591 461257155 939546410 328375027 317776089 309365490 833504624 166202514 639063261 100409491 786121040 884930260 990260147 628057765 155566224 734504072 396050095 901132043 133215445 568170303 321052359 770465586 603264172 599052755 145503141 885764680 226400015 626438101 535608367 942881796 548181433 252639333 333590526 645400180 679575553 150938353 870776298 597371564 603882940 320140598 832988344 648926650 788133572 926697428 636709379 405502147 984435093 955295927 196813720 819959295 763778752 678687708 384360181 456256543 407663018 186058711 593593233 265850866 402529698 641343595 532031295 391875166 223347683 631230046 879724915 645921614 250737375 482169177 785548132 196447270 565522678 221814513 769929487 588611027 638429713 850448245 496809907 629940189 483360842 963224720 852165903 790113484 427390561 356000110 823380414 674017779 523167109 887420928 462030687 859155622 345559695 261955973 283198140 337490632 170978126 982642088 981821973 829309081 217233434 937487189 927055596 708983359 155349934 768643383 882419037 672529304 893925288 568033766 297890780 657366268 749026950 227050439 291510724 211099220 866749369 311172136 142457332 194324309 405028712 903448390 598557462 904506825 385289369 449704753 436951066 610878598 486804211 838809957 896875603 389363091 698695396 747387384 724610357 845150042 113618360 144702061 896713492 826747317 611120191 314685366 350253272 504493030 684373244 941847004 490701338 676605408 348109773 599834809 552261747 178010168 343246586 573291509 147885169 735835063 718749128 282609033 118309091 824869866 705781941 611465165 818175845 305272288 662490242 594983978 710707578 449346286 489730403 865698218 502998032 625776235 792528015 336852924 401698776 236314044 517104773 303666450 581548132 930818771 575382695 751328220 669231054 559319701 810789402 443742505 368381840 725507492 143572942 516412912 601234616 263202460 708996103 353421346 252105410 442579910 770856041 495215558 928337988 429179172 758625763 474223595 934229451 523226140 416957373 813468128 877659340 834835689 775614231 475592144 249557126 645037811 682677755 667351450 914757418 809474443 742839167 788210474 797957241 695716476 521692064 362218597 988661522 433092500 759810071 442088576 584142609 903948127 874310220 238624256 919424579 965290534 747559193 264250860 947231828 627978441 226275259 807351146 635376157 845175575 442692351 243474692 239707485 447620234 154261922 974788888 251857637 271398697 671396429 901034712 936723227 782770009 176652857 285982132 149060170 341641085 976644142 808982835 811466578 905687205 958059103 834883057 807697362 848822345 531532390 468974471 502365183 142249842 696775769 418249575 389658208 624191033 764123758 300536597 483183606 624235921 177943294 111917046 611902553 274816054 584841754 734312431 797332049 949206587 868201658 943507152 563137907 992219645 487776270 921715806 551976387 847924439 169155246 765060992 217775205 528850004 504263118 334154708 894920810 513704281 282128970 504398254 502738611 907057776 347242849 139539689 997294195 217590669 844450019 114181649 317291850 436472237 374884536 299245640 167855270 806998232 370574833 831891713 421622283 967488931 681988723 415782529 665251465 588378798 170594711 805047045 211122200 964596445 506191027 638532487 641402027 417708212 640181491 254585988 541055235 879958858 602901878 752936796 364631786 388520566 699711000 343842098 540380572 603149688 124419372 637372100 693144044 897567756 559526750 586117117 839764456 439679928 220729462 513404173 963150096 138519131 797944414 920077869 950495934 379422654 164424798 256659072 912920358 363322434 126681364 969758463 267385238 282718018 734787141 119180741 929062179 142458661 629862934 360578370 667241320 513906930 396360561 224666715 827670054 559083606 287865311 541009049 702040810 793569748 309715354 265408547 279617029 778426207 828986417 913674635 803329915 816173138 628535192 264661659 357054651 926710196 268198713 121511364 327095713 165564803 676282289 720728663 833796560 637447733 256547202 146551664 212399451 975667096 588924540 373040805 671464485 828608813 101949943 825071879 851143415 108899340 165350284 255324142 787040922 114967435 647656182 721821350 142613371 267105958 157697930 905728116 934755440 173052867 484943794 341857360 547688608 704211001 438697125 810569573 189839710 182688907 370764092 241333457 751573303 299844850 362447855 314240599 821057605 602461765 846320324 285219991 291871587 738681754 658410308 722232874 471920379 939298268 309856717 482481425 596815242 674604635 395744839 445473413 855445452 572105401 939250363 335975945 423848812 727522575 511699397 769764108 378860606 163231935 574289791 168069208 749229322 922126227 633451382 680013115 821718422 461949312 585953306 336520270 270882662 487036026 918445241 370722561 577210668 251287858 194953715 147152323 809255110 575480078 942759710 834392511 149879166 896051536 341294741 435548898 246835937 486852837 179822813 465109236 738263269 159004051 977099094 985129558 568436941 679806122 280501726 365147588 118366828 646924310 390034578 210884411 142976908 337096302 811212872 419352100 798846828 855425393 693721394 856617388 733393637 422539558 547128931 372466480 596380470 735884974 773241371 254526320 158133585 114359522 156548405 953496912 251991102 633168222 253531120 820438096 666226606 475382603 574706963 399055831 579096911 154775784 150285948 594368302 495416441 896271791 617468117 817116557 535123936 720125320 819127074 626134385 646083397 331643156 938455069 412702786 332860809 355450108 568972606 706407407 189732274 673310190 836867232 160912172 976407801 339462569 433853584 614160205 310855038 445308886 425911772 462693557 607029981 332215952 712032233 421707103 539445744 248593181 461550045 436901942 111515121 254229074 800412789 832455316 494388951 540125708 296722146 146321136 790367749 595003270 235856582 892580416 717329817 823809692 250766342 572519392 350406786 874503932 213931583 736353315 634523913 519380663 455832527 107059135 974252701 856794577 716589017 631367774 167461858 580191181 430127930 898185567 823439723 810124783 627728423 493156522 639105994 846819698 364629500 453965821 324130894 630735049 517100695 662242795 816161262 449045100 266190628 335621365 780204731 415395600 816999875 121169717 418448020 851504596 848459414 104994481 598369097 148888884 123367190 428685346 120573921 479314986 717465789 336430349 295584030 959899596 670551136 607538391 499203743 889881806 334232869 101683220 769995803 853095943 430895787 774375053 959942541 289991197 320020265 689280998 273511467 327041276 335052443 236834760 599453837 463538632 110471076 318907824 595089619 824501563 748053728 812298589 376041663 586624959 856512046 889730479 569237598 125901123 394400438 311994478 593065895 641870822 414710100 382894449 356065303 385608117 720426013 802605860 674322733 686027292 483802753 461144615 667339695 453255870 329773385 720575892 999239000 693913141 379374221 344410545 116001383 954922745 404021334 556214557 646134267 433616045 401017051 418981700 418220953 870884827 302519803 165003035 631780205 765819340 787181976 948498752 223455551 374880487 549996841 332486940 528516804 872036067 288971419 231090052 439289543 260134142 821975367 861043962 648823519 513176327 491605988 367625126 730250421 759861732 514242613 868441363 661361879 522280970 243480841 195729541 572653435 160772559 751111845 990152522 573099880 702623937 611259683 673183977 740315036 912452338 973174911 823718819 860839813 258179001 788270982 609498522 367932210 106581777 298012109 774329655 234808741 885812146 460926200 596755713 956076649 923294500 752250820 611413026 234831743 834539965 728991437 901383033 615853134 126460437 115357745 953345903 707422261 714296937 105854911 673186358 308208742 515945541 414643620 263988067 926525177 419584821 913173153 967951937 389837801 321433089 378260291 873941693 816517661 383031194 739486175 955872221 442146719 820721316 711414677 215677279 800113277 256095276 984063742 321997003 421722959 478528485 837603202 730263476 371837947 542263403 940978604 169469635 452453514 237711415 278676719 782767327 279067556 778502610 576389598 313198299 225833068 875184650 806433055 542239457 896691187 657031725 870231702 683108662 996711313 937292440 343620937 954577143 584179718 517958504 965357406 915765026 399699471 617895692 503138497 787496814 296152581 261880873 963496019 410168147 207268312 623851254 528993050 128414731 850238232 959864362 610636609 397368789 995766732 927543482 625095463 908098914 109058949 121216608 945693665 965157813 281004249 162968127 350581392 605610787 350233851 794792163 991592207 665162355 235969098 895474642 683656515 119643779 668887080 403129711 807953259 461307181 387081810 285356032 832907984 772634754 870963419 419558191 296006828 384155928 737079481 113632078 124267451 344334511 426741706 590705277 725888290 259153189 708929762 239261191 986937070 994467969 907502637 309207209 382227930 747892193 455892781 651542915 455295330 587148949 522834851 955155156 739331817 406261220 262720304 194634090 343942687 916293980 848585133 268592087 245230856 197014146 238497576 322459076 463436220 772906335 315696248 961447628 172670461 320506986 498952759 484243858 982864568 143669451 183156121 723492509 955253856 509186892 867976707 857921912 985533866 793310893 268111259 537312190 618608158 451322509 718066073 765990020 786209790 926832715 497078687 635869843 806611670 748906428 106651749 533523421 913170245 867724108 740363290 451085363 799409610 839962236 969202279 999477552 965454349 640564425 701833753 138907082 662737283 563022533 651809896 313156944 872944712 551116291 692082738 762243363 172573168 902273955 819211726 505655416 198340376 824676171 973226159 941578828 180308206 633144227 663438767 605001065 350443610 439374112 739997729 613322288 245676757 758987646 919530565 776269324 791033092 420472652 678143023 757562719 604913710 536878904 113302910 394035240 826302561 463800026 768732603 150738136 900479130 108639964 303315667 832180028 530213262 561733460 273084831 718878529 350362968 681052177 460212910 987463771 411041668 135545510 966513640 616813755 588936927 122753615 436709382 938279489 190502979 615376779 198463970 339830540 758047618 140756969 338122719 246459562 948151499 611837567 530295279 843236439 433067522 472134485 415559346 612090624 297773125 750448133 172090297 410173673 998231088 619857239 306546347 336126291 321738345 871500534 125136679 326164731 875798544 733510543 381970688 383555399 196281928 396254432 232852425 331720885 717893182 715868495 277576542 447857351 545312256 618756334 496026714 439923612 965105771 399397869 213549733 597381113 628983806 682254074 431939722 284496290 156141325 404740973 299213962 135733657 572860075 877419197 384707852 899847017 764350989 320187499 249983349 768126983 467861450 594328790 732768364 921186801 498461870 378041081 453576366 267032369 779498729 210586854 370204698 114512155 229585235 479799767 293385428 702635640 417443879 738351931 567437881 850877813 286122408 797308413 192794790 295432041 152364459 960645133 450533019 871546707 632528649 564705633 831257709 705401173 449768856 817411410 253393972 761951127 132566451 648555145 119708646 282759368 813879913 687532564 374352608 995800904 968618271 230488258 223529157 552933530 866438597 443842870 970102567 840053289 760905261 837175773 522421579 835672563 823885804 531696917 409566225 175999473 226683734 469575986 298286689 247479239 446725975 121928779 874247354 558526336 776347549 577068718 315422842 989378997 399751112 438054521 986327116 463703618 778166195 783432438 799967069 428497930 111156647 202188647 381146398 544576415 290244559 116132852 739879499 577223719 320856884 780508959 945144896 951294586 679190023 520689055 596944063 488381379 353316463 470729376 167243854 954363763 671412703 363115241 336817133 239076116 919964528 407409868 463679068 351288402 537848952 735154857 190872875 913703826 905758288 737655922 317836751 485021356 593235455 953660380 196121463 533135334 709805756 567141806 308062937 222070837 162497281 419611581 828795401 949670523 858991371 360165236 376599221 154480092 241298356 578202642 652466645 142369942 808551232 507906382 718319568 485374434 990175813 700446506 574014005 698710497 419225996 564700525 821663422 488081256 635149437 832310649 926114540 445844511 173685865 521607187 289142908 918820058 949374357 140993999 507993607 341414397 441681768 443773118 932257359 439219022 364400576 426569224 879169819 644141418 210075601 454867006 740329736 311079901 289382803 846552235 192584224 448250965 353454584 168395246 249397528 165966828 668352243 635241385 527525113 878690689 653041180 147497744 670904520 339427671 969618629 576457179 517977447 653191451 296864792 479137509 374361628 114319487 733207218 178074391 583504233 336566456 669787287 926108425 509058316 978162008 678285724 513236170 694987471 952111640 665467956 141616997 313571455 604166013 617565449 839710694 480866320 355776106 427756907 250805768 399311079 902225273 174228741 133464096 750990755 682955300 512148502 330238396 217835425 109229797 886240751 341298150 317660701 747863759 560778533 255266233 709521047 757777680 194101387 672103246 428277123 677997914 780449069 217425707 494394816 969137466 841364109 781775320 464515245 394191429 618367212 232661791 194450084 456655719 156436197 903267052 453512983 815597550 942081193 948817000 956695208 257821005 476530113 829105262 317446291 754501826 719502589 750562960 960220401 645124257 836814616 292784717 605381571 158068497 663557556 640377379 279508160 115097980 316235787 402113537 795916396 964356444 482876643 252755538 248546285 688753130 161621369 823724657 463777569 921965394 793627396 288789807 433691210 420662026 102350973 819301642 517638180 250165336 600849086 904057082 997724698 916910761 697408506 903085428 887375000 850763360 229129533 457017295 144876967 777344086 640717552 463428177 703106397 383563404 744057111 482062758 662254707 907747505 967634527 691817200 935968575 160686619 618353515 360350431 913598500 470039485 427326733 339126787 663505411 577743596 562886471 492558402 651783068 116145943 806549475 336141547 798751853 733473843 407811907 332559514 443769367 528640322 900526727 973760998 984146939 973563216 630837457 374430238 479903524 534445743 323805030 696616776 637028493 831067103 495625631 455374268 416426172 849839482 209589389 993812571 156807899 295919230 110669411 429893257 370615125 349144994 844166603 749480445 488741059 214769750 799953505 298740726 426808739 394295688 821822415 323300314 708119487 633152218 594332464 350324607 183524567 713071868 326955891 450032132 971957959 922211041 180603822 987148466 809314714 548124334 794716143 426261520 254176276 844528863 587216488 509705580 357244165 191274143 475316737 411337031 678400767 628272011 892340229 313515928 928573753 984868280 946850565 544548351 841230633 673726172 843473476 753291794 379249008 953904777 851550103 582172152 281072442 353852179 159521917 159868406 536237014 500828824 845715992 608752630 786268476 487567658 986295630 395705584 828535893 682754813 740835557 354216360 877319798 513857801 458504582 362792180 461761186 657361834 873309922 540543351 490822987 693768406 248594308 952312140 159939051 761042310 111333302 753861223 207941316 197655480 625976701 322839056 299480910 572124164 723146398 449914881 319019254 642772650 137543369 840410349 617405733 158468700 788896208 930187994 867188524 375855349 720028975 594135014 792894822 381679433 672536955 460950776 603939306 244250654 703051142 466861045 805955516 873038156 351873464 257062863 105884239 143938124 911016694 562380473 692005230 447223102 856564116 425214814 712332219 116939556 755404456 623862858 996179704 775160738 298234296 633426621 309537973 828194371 476325259 799573909 408947044 780863487 956036205 396957818 933465068 363208934 798890368 531280607 717144384 349201692 308373410 964624902 391637823 732310359 369524210 118045678 725840723 980169952 449877458 830426986 791367329 571183959 562933388 505323359 694725570 733456948 167067174 449747489 820824684 578590147 872495278 971717730 892321499 605336660 931648689 227473122 391702995 392297193 748134754 231861902 977549694 215716489 608625319 156216049 661091708 580413025 309101579 799340314 652856168 662684713 735698143 167553402 419981647 355809219 716673553 428239333 169556999 314029755 392127623 888763542 765044247 801235181 260509207 714101427 488200917 672316135 394142725 397820103 169641861 737729290 762380931 641369777 596739275 413912049 245571961 370825594 732163581 162607304 580382841 244203028 214814663 809083422 429540757 260687325 231306283 962847227 880159104 810341797 109144776 568970702 594014655 650142994 500099802 316676803 156651286 126394662 503967098 459082305 753087444 781384193 471880078 183324461 763194418 541376402 483380493 206470035 138796982 448623826 624480564 589488223 703919119 189981863 295161708 836390244 105131157 809735608 143072833 756619834 785547582 271500621 452621808 527310611 224566714 379028659 669689361 880432683 117768855 195720744 213778537 178447720 818715676 696666470 413862309 846444026 899313752 655638373 571118470 393122080 559790912 779155252 526592048 563689043 275660504 803996583 398928347 258220179 312928079 680392720 314556422 872399706 819941732 857847237 115674071 903491277 109965634 669425843 518652314 458561953 268072938 784242929 738585805 477407893 303907689 185653053 769944956 351501409 392723368 213939117 782812637 209921948 539561542 627275173 216837973 322264449 408966985 280881159 969262860 188852138 530994233 971758649 192447794 489234281 919972894 240636257 337163677 652109651 159312397 381737679 560796282 508969824 241737715 739411639 863905949 498714677 979830394 806808253 232227839 924957969 141862670 884640267 715327560 753429365 142747132 524081746 435566932 344723391 896597818 535539460 213830840 568133625 389753173 360946496 443835377 366213263 754614634 906242294 330155926 461219351 436447441 241048260 616752138 522852812 511602461 688162865 915154558 662428091 589466389 771558272 125768405 981752437 213442177 591605675 813485512 631134994 739548934 336944380 860638019 899718737 612488219 234236791 270570903 556690954 213144384 977733933 736203259 173030059 353093737 237168934 428192974 940447073 179694901 495368537 629096089 408281544 709262501 280537604 881278602 509260228 877740229 774137340 383614598 535744273 428276280 128622798 748622033 976781410 605456821 189528980 435824451 110817600 949301432 380522027 184870752 372800711 154648123 426662273 714128243 896779255 910212359 794734650 187096870 231769903 584197234 639155048 669559558 997619590 235219701 888087258 486158854 843444798 777129412 562197312 805833546 762082637 573956453 272773909 893364225 686039346 457880808 339236739 149868223 633459307 667877476 828566005 732306692 643785488 802385813 323283001 151037799 194649739 980931416 927900356 703701990 287494263 559266099 778068426 693309861 838417158 174290121 249072452 509587705 395009310 226522662 754964364 581839662 913508167 254252493 872491375 299737418 504664275 315964406 406469076 549336721 678840029 395626609 675219426 538835882 730164905 917799920 841115608 892579516 170830698 659282005 634721407 728549217 124847699 303683417 354492983 393832158 940365370 956530485 926956168 231130354 538584144 522006234 423609232 382750937 868726897 485163082 773748802 305763739 695194633 453516820 176503732 295168847 862952692 729857977 405548354 867858003 396356450 398214480 104079640 564564566 742822972 776501612 950218601 495033197 359389678 291391786 875065406 314193942 203419769 500563883 331542088 945244194 311582907 987573800 377583642 845356726 346057004 418327752 347274922 755033006 643759333 256448628 165989528 561259236 577766844 147441048 725602680 742408356 850750357 317793169 181501438 245430350 133792568 900425759 379113822 918577784 884417521 673161631 393931809 248047090 843798034 556653615 395320364 379627056 948835873 410088393 612416615 314074892 957184847 911886475 598444050 244011853 324398312 299387621 375598436 570424658 361978785 713516377 972650599 226737926 143574840 952870020 737153154 484975618 538909453 993766808 787630688 494761313 236574304 656423185 172096715 902045167 805103995 739237235 965135953 802549372 144584805 552631656 843346121 452460824 569237430 196109518 540986905 123761988 348886226 307797787 154142646 168550916 520661789 185774921 470078760 132205803 311554783 733798626 673860352 687714246 251450132 123543596 317202420 890704824 720898572 517447953 130411791 845692665 224559593 487753535 727758395 483464938 336717260 606842099 649285234 505644815 133823793 191175434 432493505 280200084 436534597 768244723 726888834 483067775 406807884 221966256 658106981 345455670 681258580 457462937 453447841 929332167 956201339 968961098 436737057 660673143 427684538 150912383 759700803 410992119 550364167 648023797 634124093 158457385 196302637 272614775 403322440 786328136 496303218 283315227 815550057 756395763 749643619 433530808 951089700 543215959 922049803 220232573 282115487 172990502 888144382 660083019 755342330 150455972 507191750 136321652 162560595 147179125 623029074 872363311 605945458 335259787 910304079 394019652 280714777 729632722 492045038 633646862 879834810 493029099 246536838 923939399 408673699 245175098 355893910 897005416 116003341 693953935 857492197 250677369 596894038 305026909 729130968 285911359 320955573 577316821 253193292 787761693 688173679 101966844 378412354 210520469 639699802 649981111 174755796 550232236 104706595 392959150 993016096 725547390 415633456 308422747 798031656 627814316 275744286 532751991 118154542 404634160 199627360 784027811 788198319 974742892 437216013 367857059 215393048 435224500 542832677 250121258 719382498 241092293 382861348 858022647 448524396 842216390 492428871 913910384 706744072 175833411 697545686 265577677 526872560 403218769 451202593 695177887 311805095 998654851 294053786 811911399 257977856 825756296 159755876 514004008 230321925 799664174 250382427 675259923 562915610 952800771 439680391 814245114 697540785 973344910 414515662 929701277 653550481 760638427 474770271 365073232 680000039 846057010 347769325 785723869 412059147 257015413 839140229 565203588 349639248 612552019 337733115 899274611 150412767 319510184 801227943 565049725 896058518 996643927 878762803 520021795 452600127 221278353 731996680 382630714 593213092 973316700 230769640 355643743 551139260 460767296 986883571 257419090 940187884 528949670 305734317 477645099 444742477 799153030 308183083 577764415 565371486 260941936 141871898 223623708 298867053 115628680 244476045 729489802 383351189 347995664 399749566 675746691 619715834 947255343 407382996 913085219 711701176 403230580 235322945 191493054 916033150 638918425 414679677 795724706 588936533 166303185 376837283 504227085 307330282 743435727 927555462 318066107 717061311 310826144 521623159 651752355 504208726 850596287 155544708 822210860 598644752 542810089 804369285 351147053 565535584 842681025 769009460 528038476 536144726 764898773 998922676 576872557 804626043 316962255 265683179 699787843 719077059 935756106 960630617 394304484 814317945 769910455 438043399 683027203 890854908 731063045 130940966 326014278 280338884 709385433 438699464 250277281 593509987 281458857 413276078 419772207 237071107 305895802 726539564 847650051 288001721 959005174 688016987 637064024 673752309 251204776 497835660 708308811 517979479 907288776 158037836 822451825 249900896 236791213 559260232 602027746 364681638 894850742 609925156 805998423 878824434 608432525 503675276 438330411 235446667 598802190 755712253 831282883 337605801 452623327 498475251 430523638 983796154 770673503 579566040 472771858 654583692 325962690 886003181 897340894 241671419 953750666 471310933 109506545 254908548 656381466 428230629 571904933 911960324 849411506 870301909 680187653 538874172 237401664 729569155 284685798 513485825 966314958 544791151 196988359 396292508 571497472 846474644 905988364 989739948 897350867 951013336 872692316 601963961 570929964 510445864 736499818 839408819 144208390 572463954 817530109 946564047 730205669 555403852 265358207 796694551 362289088 264900159 362267465 751506949 295663761 919268641 956786052 104785796 182819847 387856596 434071757 592681372 342135051 516102050 743906386 956448493 167326673 182276734 947092192 734279403 203278216 255522483 316753368 996395778 835445269 748596789 352986062 421718887 299795576 912838648 170151891 784589349 391382585 430492821 226368847 149484642 600311186 842487362 495069641 192578096 705607142 186624518 858061242 525115056 627992088 863735306 132320634 847573291 111807505 859992192 806628984 883519709 158165179 698509448 390707003 326257654 999435239 906383439 579553801 358760031 686028752 164326727 683247883 155522812 307659604 250239637 480967964 499775215 959866701 873094534 204494109 450616104 557091734 442437620 505023133 131426441 765720180 630266551 909234309 438462804 170992936 702112784 934711346 669651196 372299301 511813572 374781032 433442855 338902890 689854576 248471021 253418455 193794767 985675271 865832640 147236712 952747022 788463837 843664451 862463716 833074087 494167038 595634678 911896919 479993385 190532904 476361042 232896547 857197049 381627795 553500004 399051836 163118546 619413601 624056732 116174965 558639527 396780663 570191123 633658620 696146450 308946287 300456333 854802154 337438148 709579130 791329780 188764680 538381967 254198049 652211418 653745310 645623262 751242779 255627743 210093860 168331561 827428023 383418004 149470621 439200956 670048596 904156118 136713683 891634805 967632003 298275869 153593307 450424463 478874737 755786298 857737038 310483501 835150951 732106413 692242350 352358642 273067731 393492995 809996927 505581974 743371361 905267344 129273596 721022849 155371907 807920412 599807970 206781329 759461208 474899303 476012653 588538532 529215182 119118865 606690751 640616184 195076940 590692924 772951338 591796012 970579790 396586337 454971853 286363401 782017086 276862047 321840801 682049226 274720888 781844714 938676905 889970069 651956075 159431020 879727575 744620524 159676988 191378051 540263028 860580796 704664675 267102709 168328789 408818168 661140572 188759747 817716890 613760315 536932237 443421457 624620098 284483559 396847316 217691497 207121965 888796487 398522031 860613635 919566948 766910511 516733589 669987582 851430254 132896020 630121548 715359883 106372732 402262804 790699120 183879657 357819576 994307278 848615454 294226653 813662908 373184489 275138173 171712215 914153117 610769336 154003060 887387144 792794750 282734081 121521950 998448024 469731704 448319465 469253746 457054800 394854452 860282447 910979001 930955394 708368111 721149003 787693219 742723013 160819328 645418471 202072749 347022159 427292256 380812513 969992436 195961112 269047967 808714065 979275722 277803992 209904848 625638478 895997219 416966424 846982444 422143696 731324749 815712726 313199239 424227513 896238168 523506454 481420155 636286498 318695575 144175511 967684537 797352608 281634042 478663079 535332202 668620123 161680477 592731979 228704885 384320977 933235560 354975852 994571768 424877475 488426391 206618254 217852848 805661103 680982194 457189288 744041743 237096282 531256850 305167207 131999238 790511911 909912657 464434470 875198432 138808113 770545112 835272775 366379927 692267107 531918340 523755650 377398081 608713492 747967233 933351447 563110522 933310402 800906091 960550326 332438868 298661260 939683717 348977396 850819695 851995478 206338505 526787975 680019894 652365222 523200653 255635769 769827428 882890939 452532758 482721272 827160998 458316924 557452672 470327151 887563210 175895040 532696874 326099238 723428416 169971062 962707508 267654952 157717406 123014699 148854322 975432440 274362235 450702050 619817313 600368104 274262908 284428754 809188973 465487500 618558351 956360709 880366919 683219570 616003322 459511909 934512078 582441604 494448038 313423150 422746584 733284287 573372362 223532532 198017552 462902718 170687325 672565405 412149347 353443892 726376664 750697835 469617506 103398098 228182063 744780400 291578930 344572475 797525407 384682589 501412553 394299832 258277062 146611385 598354718 645817420 773730451 232856510 349926651 171187436 588520369 829975994 160785586 344650470 381762297 923437232 655514692 434291394 287732251 696611076 351225024 515971841 465745893 688686730 348528443 383651201 412798650 845725448 558288502 674403991 545556397 122018521 572336127 871109311 871971648 344099046 795210967 311778344 730033504 135502975 261249213 504729426 506985463 301762974 398584519 557454629 119628270 928507742 598786452 855408721 154997960 584994169 532874757 699682427 902580101 851043948 607724484 489305663 578671114 553788313 781277338 216525527 790074101 632121954 454770315 941727138 690298371 162800751 618675902 781832772 321740366 334555615 733405003 646003669 196498334 947476635 847567697 974041928 732921377 352783070 589525496 772631401 685275180 635086279 883279364 660710660 383338056 592213033 996251177 402480310 647318410 413322730 177048100 562976973 396472507 640429336 286891209 324093648 672791585 816613140 152101042 143750034 801589107 828850426 307614895 255040103 518237132 662074695 805352869 979265583 850186770 304094294 602208688 113408587 546818793 956906414 776419580 958156237 871495543 659319300 180568204 872070337 279113282 410726929 221898077 359938556 214273529 253455247 984234112 400043372 997684479 717987728 970442366 940012827 242892295 203673726 196768927 268905825 518591252 154441649 963313283 587826111 344860588 433268782 633161829 376587203 950176901 327704639 923957950 988847392 734774022 355137322 698221519 471366387 288722802 829621204 321914756 755182320 356607700 111113278 710438127 406119401 725615622 757313992 130730742 448087141 716535136 105082410 859618828 774157679 940380204 581273110 981618708 515546112 790353496 712525127 371615448 179496622 381713837 799348016 956831700 284373146 478885410 996250157 482475168 651242200 118383913 377882979 697917151 556190293 918207554 674212962 672025766 992764508 340225694 520959274 342060172 704282252 333623259 840365857 829102313 962447755 745869658 347507588 221988471 250670504 852615920 876890141 277847056 794394097 611018962 461767099 886418279 506788046 534832800 243442894 870616991 409319004 749791173 111425573 950346617 118316535 235860545 540725959 799761331 891873340 543961640 809433633 288532660 559583338 614316795 869841991 766754182 681221127 492689287 485577279 866546966 684053911 486308983 145709471 548279014 751358128 691057441 846134891 288505918 546370644 300719801 514118613 277437634 381934941 307640600 204249445 416290108 568402579 759905510 864304982 594107013 588803467 443341030 463117476 520203014 934533442 218511393 588291426 709260092 475747755 205319180 295375281 164095419 368117289 176593763 894233416 381277173 715444452 605912769 834810279 970218109 486683091 339565573 773533327 191093150 907173674 712604813 638095064 803448516 417753617 742980467 350768537 256558963 164691971 153619079 873115523 581882157 823913282 695267694 676042966 569786045 179355654 457242942 654528356 811038790 466340424 807384166 452995842 344626426 833770723 538363619 567970308 994694727 309740014 621840402 864687749 625726942 296630920 922483526 289593135 393180533 152803176 878945141 341695661 403427235 218488812 543342449 404229912 211392823 206256776 804153157 704091385 282154482 181828896 556706507 545167378 797630101 492913449 441119661 941892864 147088295 871961937 238582920 484575592 562388402 530046132 927964039 856922887 914954672 102273218 889008830 417916619 860198586 808930701 128481751 701294143 634679010 348808846 799957149 428322682 494362138 994274126 147672057 628199119 572004948 456870598 672685724 807216284 831159857 964884362 406045926 181905363 628761832 208530346 859140774 725172439 528335252 639300563 134655753 193188122 921846864 783997468 311815630 865549184 941486816 770465408 815755011 492208029 562467268 100402508 151377495 145010693 108220588 589733768 679410545 679642158 535418048 133954233 586618764 396184501 315904818 587176984 288331188 966784310 824477140 234091072 579889048 364694202 495517517 821029843 318158910 996850613 654922323 800550176 822411321 673855279 226903817 520443399 698957889 488751950 813723074 454493857 728140700 599004758 442868703 906721074 771346194 194989581 308928424 529294808 976011692 701576335 675913148 629552625 327134097 503866474 252254927 576387159 784849985 200093216 628581484 607735336 824766662 994149227 710704676 904905569 228008742 889607537 132407096 834376248 130163260 549964109 459787311 601617354 685424718 431549202 872217253 669159651 297555760 934767519 788482436 184749403 373581266 447699581 519505657 483709973 640469125 871764681 147606839 341767708 535149693 877006384 460818356 764881107 173597630 698495428 805540152 915879725 652102837 422819367 220824631 895981702 361924361 340251001 191184402 544399012 179098403 682213979 552345417 439928480 217071745 391905289 609865954 164285622 966784367 671364353 939929269 167787992 519825548 767041961 507050028 914977336 169967224 438228498 233871433 300369265 882930291 279047312 117427887 699513627 982986917 472676954 405025668 590503387 751694571 435014338 873143819 172671367 712553506 925962337 900451367 920284569 626945009 534836666 959176020 886324896 855758233 256440758 450388247 151268710 391710703 352185786 668904428 144448780 604981016 936005940 722470141 369484404 173050710 657453597 979854230 684501778 381755382 722978499 234090067 769288692 438957858 752464249 621576364 492243898 476323295 169183986 811938715 937094404 807871524 296918260 925330575 665101046 777287198 474327912 605277386 511431216 923160110 850331118 812616009 204485715 620974357 878608644 394716937 493608636 672384037 858951842 675152686 179253103 321480808 171896368 300785575 962136241 877189790 946148930 642294990 650793972 919351882 777423590 121192484 249667001 474599961 453279838 945042849 200840563 228993871 875872259 916562301 791205220 957291454 585923738 365166489 691446501 891751848 821290400 270947231 752445580 888145144 876161672 752021874 958980046 891386507 249924855 643661019 357698140 696616075 316188121 434532314 902691954 164552357 307468613 384961129 300930667 753656059 848226182 440582362 105574145 230158852 657825854 355707507 851318575 906371613 404579409 882920782 942112518 501738563 268669507 931688360 891844268 434224956 716729688 149807956 141295240 316619016 869423762 768419148 598827967 735824186 501353865 365040997 618591466 917305927 771132501 947716315 278522781 821783427 445721310 494596167 478568258 498239843 625294672 920356374 510774521 193605908 931599852 697195307 441838696 172416608 216841888 248978272 259039311 258026627 454302743 670378809 864060922 394994601 564221517 746179675 811830198 583188503 932289156 879720448 206440019 333724819 337495673 592937324 120223284 924378479 371539063 321618914 726754559 869734474 412830447 531253919 257911809 283058107 932919294 637192831 532507029 707044053 777893432 651685156 324093033 926089345 613402673 889586523 758984741 848968836 527191988 535201521 120736476 676284830 342516976 465750429 997108291 388440862 652874228 490618205 424268483 122794100 572610180 505287442 904483604 206967725 944223954 804408364 510187057 929127406 322467641 306215930 151322246 236818057 191744787 552995970 830960000 491258227 401748633 388807845 503103076 192130475 108770204 585381126 274276855 747622020 300280936 147670744 683952190 256486617 170978996 139212984 403631725 912425176 246452441 527965164 905659384 278244186 688798378 185144251 415995176 101086322 512225884 823530104 162726316 360211693 910751449 747833685 327093203 244559078 492099975 619909746 790098658 441735090 328916727 606094790 289626077 814340471 874331979 969717735 256114205 302317852 619802633 602727999 549041977 352159613 773353358 978109804 953470712 638646218 931295451 354766728 883806588 902710836 822343778 980096995 528592929 448426511 837914645 906319408 452913536 897915299 532446896 374773331 464684898 290581042 604726563 764084888 384756924 673544604 301724219 481389655 439664863 926116319 814302875 633262511 109253766 126655187 533357205 147800162 996455404 922629305 227065750 927484343 113080837 453380626 988555904 141278911 592192590 143265133 970770860 475396611 662453624 638677661 992175460 490969974 402132204 419570559 936404266 797422317 756312401 987794377 683448504 377520657 654111388 248128916 251207683 265461684 923043781 764998913 714109896 985747648 917159945 177901822 399019736 420542312 580764451 454627607 843206159 412986862 219194430 226107675 912859793 624998029 130679938 621680409 594013100 695295963 251093705 666454355 949244741 201425930 224779009 992781374 168950388 245962175 528026221 831286827 550414857 366975258 580076209 755589160 746774295 333981635 619340809 953337087 909118738 847315175 466346122 438662240 568407089 520800919 721166739 127473773 424602807 443534101 433049239 174170181 830302167 224197354 335263259 187616726 665236456 439493639 894883127 623907709 834664722 756781436 451626036 665616733 665998367 888342380 962615361 475686179 831727730 830184508 212186812 423613424 330888679 290194574 919426288 327987988 529392319 936582824 880377576 793621321 703372089 519638244 200125911 363801631 821732988 768829147 721813603 139640111 147796759 328196116 966261558 247645763 502659522 319658863 447832114 459039685 186620067 172739717 337036149 376923687 323701329 398534263 961842587 251513784 520184835 185418356 783946590 574588451 435839940 156770620 939169409 215513098 421549148 484251716 148291222 831484408 524655061 692026817 521053515 305035496 687270661 281158160 201645125 334614029 193181289 609939571 817915294 572935136 975529726 860123023 295886109 982185957 606324719 499334773 384970108 288505336 253956489 780987158 791371889 801689182 295328345 744915116 719278129 626060658 189971333 539564624 506819436 313258674 202630054 549305018 280101572 251298453 958486086 240971309 909988007 784701570 351086105 615516451 537692452 877683410 487277412 417931799 795892820 782387389 340035549 400930122 785900283 754514891 797503511 763656528 325630285 625568492 168900671 744100408 929858624 136778680 989378236 409686312 470718747 737087407 285694103 394184307 708909406 697350113 238449753 737823923 878596632 197488845 789045763 868740105 812887475 489809126 529468390 640547563 397370896 250825407 992432883 736645764 287424292 895492310 259918532 470733413 235977079 890285718 587667659 700452575 713169892 138958507 176497547 500985176 462686960 577682678 823259874 149267018 273109739 345528299 563076711 330376149 182248291 276792448 951208681 764208745 195907465 749932700 224320986 483129855 904130773 812041969 803285691 110828752 332644147 501169403 273786624 818270839 347400718 927896958 691694575 707757306 784698227 709677354 161611579 130627364 182821076 105249058 148860457 837076937 836761787 446726451 647640729 931339751 869576766 887090863 681220175 342629228 773678158 467324158 916264245 734708402 167961504 495711898 384617938 488739671 519693684 540491656 667626958 313590628 887382326 441232238 343150757 497219533 636302471 857163144 761938345 721840782 601594947 415074301 303958256 828249822 110209683 751888852 815962604 890293620 139616991 105463926 882752017 965169315 660459141 918811198 892031571 219822031 290655565 892684460 546181641 687844136 109348056 120885982 866925873 905986602 749760084 231537313 148895852 707316663 552653557 655520088 731902844 787087356 627044671 165104259 990245770 640275468 555221242 891045115 371259703 474318623 844114545 531422157 301894608 217898427 571307376 313813236 619557703 977469256 255556555 523620421 463344840 980524661 397351381 862052756 198775645 133373187 859516869 987109262 917820669 556836058 119761870 696606122 482015424 397714597 890335854 427942597 686143580 460075790 256530028 752346644 795065955 451539359 344665709 232665817 338839346 974871936 252499068 686315404 967346122 846823344 776080933 941952022 579778812 462863640 125955868 194015339 165743161 155512813 649841402 913216480 839618941 816729131 719007761 828688123 728547669 685778810 260621070 464480391 956084957 956265626 409875139 905669263 593743573 529873311 480901062 423138595 692287318 630866806 189119081 430055744 977115087 196958880 349397405 556776763 269487601 901169696 164314032 821572932 590842410 747959750 832674822 739762050 172773320 273809634 801543012 242068415 169771396 129997331 754290766 265104191 758428322 368081242 934253839 473485619 132981413 425923363 220314638 648322104 133901858 612936242 728072410 653646225 644383270 936627320 157653434 415237653 828980921 924022840 356870807 865366281 759206055 365134349 919586321 805837295 580687796 680476069 174910962 227421925 223191455 808248230 912600910 132188486 371840828 898236543 177813979 837468327 723842131 879666490 708971714 637300296 180258472 165850104 799668660 129754997 555061110 713715229 185599943 966127556 731615955 872254141 226641101 215162046 987495242 499387328 285385645 944876623 393684406 959220033 889891077 748702249 311123904 145638559 362076706 662391152 130752054 590960432 123494543 830219436 829441966 714383913 801933362 405529771 414592617 408217703 223157710 950576810 531910556 875042154 771041840 327997034 777130904 891816617 680962564 475125499 730691606 881303820 417615594 553009896 659884388 811538568 477895041 260768241 833606658 150281913 350676019 368304525 379556154 102820824 434453492 138841722 286953100 256831390 301620628 368122423 431208399 784977437 714418619 986731284 560344759 992184971 546900031 483681188 415341641 433742580 207362748 589563657 369736554 394154886 479438286 588489672 471150211 839541492 198652733 357852771 274834738 108285078 927597690 224696165 375214271 591176833 482970498 572984510 130207294 543289484 470763282 332899728 678559753 370814820 622040947 486924639 737542850 835548146 695492101 397631519 356516656 970221854 275104892 894056415 543836219 850939386 813761219 984234886 770950528 964579762 816766926 537309424 464902436 865268854 178996060 129695362 620876960 407134452 380372401 102540854 877572344 423809988 857944054 883129740 477293033 459083646 245904801 724028036 140512147 458823354 579802676 477968320 204036065 934194049 783383021 183839036 826932257 209284373 361555395 256597275 835312610 777469665 816825315 565557058 706019998 291086397 426440237 661548208 168836003 732424489 729198123 381502056 348419945 107424808 766832395 386405734 824169589 902453817 590737968 525384442 402367334 676091599 973703619 724358193 752700281 167901214 474036207 443976722 294886361 339901453 639992111 101981214 905922902 311854234 722971409 215837238 403134315 661792934 580481253 577311260 995710555 322757384 427511689 761217534 980372683 483868198 317683915 109957144 409758956 601006787 320651154 477001292 568703227 324949435 870715882 714503753 446624627 181507892 478640613 273555790 384098418 570580367 280165683 541287987 828440100 141623183 657454211 698480947 155742379 340188463 776241643 972361129 660731316 114854291 557920122 117003849 871761153 156342528 644913664 855140644 921158878 150293786 675187962 879469789 780907509 516546185 613503465 701245161 937214284 642741161 363797683 326749388 435805668 793803947 447869589 960726933 357256188 734969209 791221076 825830402 588162566 763645904 789852300 781465822 590265863 218604461 219804525 352442235 374533143 814016517 668311580 865340679 101951012 485239948 607936285 821135581 608473030 207949855 566580582 441312354 788354127 431204208 369263837 927669490 186099673 394817851 871980013 247297374 648864542 402960730 603947296 890554670 400161205 378910524 158118191 890522780 338480509 524168380 929129625 252775180 112173952 182266799 518434340 496515248 463085012 992524679 581621721 883242089 361403718 197173959 951564561 140098638 491744321 603678566 786987724 950968039 866133659 788338706 977675087 742042863 436075307 672526483 549422313 597620715 524765096 597354158 492200698 915598029 520990161 896413346 131369744 224083515 437414035 871115681 266456080 935610743 654801010 497125143 402888811 867357914 414739658 702532366 399402776 272625687 528275680 969294744 856977390 755716718 805558720 497399820 780692539 282943493 270508031 184351762 457043529 882144441 679713800 850731192 743502930 151894025 153487986 738202125 700492621 169092029 510990726 786314110 758799929 470281991 505054926 918511113 908055280 442782681 529127061 266152143 526336112 704732993 805496944 476167861 409107729 864805538 579327594 949725598 264740252 823944767 130932944 516539503 583207457 381695478 271392255 958776388 136280335 468613165 327280954 687583048 964705315 480325938 124476317 675124396 893108833 938705924 701156968 816477885 121953743 222023343 745873324 452356185 231769670 341107761 403443125 310251925 745890370 110090572 153393391 185293603 846660724 428725379 170070061 853512835 931454469 248666621 466763310 752486430 822634881 857199403 970705371 553160607 484104632 116265904 130569435 251675595 485074201 457460549 224688758 401597862 416144723 868664589 646298767 175990189 518527037 255436712 912928506 782701690 893897651 185803288 258578266 115102331 867836680 464113645 577187186 105369679 849980051 610235004 986508688 927722685 962897212 800212485 208838050 682192364 849258644 879711154 203152926 965254738 903696159 499633510 680015604 311698621 718911172 218211583 983223215 717804772 406545355 848151999 696822515 334962209 358991283 326272212 802999409 700016922 222125727 679483392 805117591 797741872 634303742 554365439 457933743 550640112 494516398 654072302 775687837 430085440 609732572 340952383 838115208 449722691 372238090 993607881 871089308 383532713 579329911 106118646 449180594 931925384 290736232 927259487 639610700 100141424 338310382 621725613 432740951 213466568 929413327 802548073 696005036 170193196 750392822 762984028 540682374 402427154 155081453 564851513 258359756 766100072 846581553 178051907 841703060 487875755 494524541 649641072 969119043 783135636 580719485 197118016 397113863 168922146 855506537 541370026 244348451 682110446 703318693 135171776 818290694 400885628 959717292 199728886 917660631 606789069 496620687 836386443 738554379 682356971 203539012 832368965 167782307 710648999 373434790 785322704 366643989 881441240 859825407 798186066 847488480 832927487 331454529 445822463 370982961 405788297 164716918 315538129 754680757 697947867 934301146 592589249 828408776 913694689 415603620 806451620 547466798 944210588 566425984 765946971 367859713 594413017 982750289 833392711 855806716 272821287 871758500 378352170 115946546 581313170 241612603 779240510 590935513 485463953 528812764 410606530 697366557 273316494 965787790 973025264 316118067 447700861 545296769 223490763 558826919 574223269 743947388 622815794 463744525 830941081 358741327 991477559 906842507 161985079 981419318 563224906 510272033 850828739 669054718 452458852 157367334 690121805 841979693 506280389 503681825 772669652 720319356 661028050 133922640 347994297 749012699 175068168 235285860 537801726 478638342 280960322 411499211 862395662 404353514 843065771 199012186 926140465 923553464 360363267 357800044 416396221 493518559 807752021 144186345 438130903 975326801 933082640 902774008 948654856 967136370 536204514 164732717 774905813 560659836 179742606 862891624 844178942 203615414 818958511 450539696 648173956 708551926 714314744 599717198 579827906 846414932 284210675 666276983 100296011 986703881 538379748 832938301 229074624 251977114 727669085 661798170 436701425 770141091 608629061 197798145 506651364 691986356 479388302 960865448 401602429 168717985 932695242 647344169 855216837 529768073 448341181 207039137 409905518 224904857 351256759 641256233 528825897 285920580 107807765 555309950 832894162 352432786 572758337 118491778 551610178 503553857 282059545 202034390 132507910 355016269 584789120 417875766 144102484 979436366 592136782 996562621 887867161 175149575 162494028 950673551 837077456 424118278 125780997 635150029 981594614 206160135 258847117 485622253 547389176 175878302 755893259 481822745 951853055 569267111 896768271 534966603 414598721 578203502 855680326 430461435 747560039 471507002 913453945 398610755 659898001 938361896 660749100 798284167 877395688 523711052 315263620 113323718 578144553 177058531 693360669 208840902 292619718 515091198 967920210 438973774 757563893 787406153 943672514 327080816 542462314 313536717 830765251 610500052 417299487 218206462 845688707 586276023 173126917 252390732 873023900 140301417 912853681 741391672 826545472 179455767 839660335 844346220 864941309 881620850 730145287 873002045 519734547 917528024 832205790 626846188 187559234 389789277 632643697 866383398 384659203 643742033 663131943 795972965 705801435 918317792 357124484 561906817 129637945 489391897 713997962 551019296 955859001 939883290 125483347 988632376 864073249 152904883 672601857 802563823 793633638 330621508 539957960 539980116 520016027 734886610 926820200 523083342 916270428 729582218 796675515 244986967 752720355 970655705 609010290 280902775 971984901 801246222 570448759 136787479 313045551 332697516 277985264 264587665 695084965 231133543 737092505 910803858 993790258 494646621 290348050 186519291 790776353 148376055 304978451 750267344 320207624 521341023 745162793 410696075 520126200 864950185 523857546 656079938 897876342 624706164 474229884 425797965 416330686 496349771 847727883 452447851 241580218 324920134 935632004 499540244 698962029 515411247 329959439 425553475 645898980 968762868 721599061 445124342 943905831 926202876 683971394 954908307 234548505 615761346 289457386 877642922 949698314 193721765 430634642 915277963 185560059 495131543 855060840 992305250 182288751 130726896 579789808 751139140 266105913 512254021 279069667 947544380 411018589 919714404 758844685 603361492 530390536 253958342 204756384 886396702 623447134 747635092 303589421 178107508 515572676 316997003 888098220 103508558 314271370 116279473 899533620 938469107 922033442 552366840 605544589 818746346 676426527 116400014 736099389 306500948 672245125 858454352 137634638 907880478 150977262 888261616 590690865 214615720 915627588 314183001 924291656 589957274 504983745 479044191 183219407 564199162 211253620 312803156 186115732 806371399 438034089 524050222 406559655 795585382 652936081 188482805 196932296 273787333 251902186 244110648 173066752 817112778 766379509 473077524 207155910 107983656 679571832 599461727 766706095 912893243 182087639 202679571 678334423 365467592 312858736 514395430 328681776 358042077 836817338 949308059 756850776 232507547 158253778 926752100 519795995 904438940 167091002 936920145 217410418 680889860 205009727 640602717 980114715 760285645 402934947 711301625 236954813 180090589 177079954 965282706 156812545 197958905 541656507 869835769 553445872 198077756 752958811 445768059 686923591 999284667 881487838 737153583 223819207 188886499 441932174 573835615 653964746 522100248 803117856 950158219 355599592 718477436 367237753 391134036 873714756 216635555 688933640 405298089 621149250 120186097 485254754 745466781 396915705 733172934 147557133 763401680 153801662 536333901 976096906 608083294 104838309 392345022 834556904 933306195 405658838 694093328 172389970 701833879 381370196 825637010 404391502 243787067 704586664 946288002 662655957 141704585 150765334 870372062 554295348 406691523 753456317 728173849 940114256 111221466 917740506 396046322 424534201 167264464 643391717 721325451 426243761 118979392 820013554 961040992 732463319 958842280 986142407 351534940 272856728 926810147 739263867 641753162 419142596 766865208 159695990 253311777 449574755 591721150 817130590 314090303 955663250 379947888 329387684 122254804 665025797 526960251 892991728 232878265 990749733 713732007 464034575 142018655 899703543 942944234 582697888 286095807 959627030 768737483 571468147 602739953 918667841 259887737 233377438 562828808 691371366 491358091 244653146 288350812 455046414 130728326 478248467 478152747 863704671 822702636 931597874 692716142 100840430 627889196 435616190 842262317 781033622 755258389 178680248 260573688 177798389 868797037 767926614 502784351 634310136 791362260 814152654 339624058 322072663 412839476 347189163 162286822 843948711 595216350 657028286 735398569 705733044 896947265 255226323 481601334 964658752 794826743 609670607 408101018 229522992 876512016 593635221 582051750 964472768 163907605 141752509 821934914 413208428 952864374 179214435 235307436 831959577 235501020 950218045 652407792 675453470 578416082 718768725 337276223 633098465 821268601 213804457 850157398 868543493 844651815 668138145 428965280 403822692 649645991 214691103 920948602 207041021 518605948 885188614 526876461 694826001 540685681 564960267 797699432 718841846 539899546 516113117 535525465 477203897 702306465 567974945 770598251 683051972 611875135 145360339 437280168 520984184 737414332 528918571 167515736 908665734 541865878 447813684 292195202 590552743 362181279 554971954 761243385 516088012 127660564 987333537 517747676 872681356 532480196 353890797 470571231 503022092 939963026 996931914 851835436 956027448 474842911 341756326 915113842 106843296 913210826 679255382 229684681 804678462 986554368 743382189 891147187 280979745 550459995 956365487 681104821 323199003 291013045 204636151 985071919 716725483 823623822 861848804 956804664 253231651 827397347 322291466 260377093 416095430 328008437 882857585 104757580 895324048 319248977 239482266 972216775 981263028 273481391 112172595 629489715 503443579 544128724 535019597 226223312 967510164 701062833 335409544 340053805 469669100 635991595 168682146 734045719 886385792 820893693 924252342 404968340 759207735 649192947 868198405 670914098 614711323 139413936 868899181 648778817 534360629 723504936 952464145 692556201 337747787 172486390 413016407 829998318 243088052 162188637 277959122 235263658 641397433 547545340 682024181 983886752 446619718 304308509 436933313 580826649 656142310 743134570 527719780 229015922 149495466 817829425 740922998 710583419 205675469 429611299 847543490 158830524 903604664 334173755 603795120 972887935 295401798 262700785 843279113 700806915 418909461 326585026 744683467 596837819 831792193 112839051 284150769 198823014 859309719 966727077 335484781 741631433 381734208 437519832 679773979 386037763 349921602 848867472 904360625 562821986 709880792 836666528 147748725 452219725 715116077 727841879 966886363 974422703 676297775 392941487 967634796 417291921 808291023 187843745 609712343 553251396 134744817 487234715 995028094 532751902 312611937 280216051 801232630 829167431 936022164 759800895 334789129 953889349 225324095 394618436 181568123 412971541 571657743 673106041 648622281 948696135 715484910 787296214 703704377 821644841 498798513 844252542 204642534 632610749 358835398 167954905 633001867 175483332 454892495 392053246 418615376 688335285 114390155 544906318 607708282 583688596 426931534 204374128 216816068 217926333 394890454 520750114 323831470 579551703 700196773 858228976 192801983 214138196 488943669 190063889 827121710 260195977 722327794 253499613 801662471 909942940 918060246 203691229 900103341 475194019 239932913 236856956 489785585 202788478 634981255 900458042 956706674 607756633 957710963 447464228 546212268 327068966 593713733 452022961 807948024 689976209 248352984 123928429 392822949 771772944 154496298 815234384 329815096 323119799 174064208 926469313 326646409 758813322 930394884 272325646 359021089 153738779 473087315 797392908 162879807 736399038 919911375 584120400 278508214 962417405 273968738 640859103 201625750 346411234 168726291 157858232 830906627 246328700 619466384 619462538 242121153 194709219 972960178 928446480 529239846 341073671 191711208 143611039 488797154 557617119 256837856 812917456 789087584 996422823 583990039 442258491 624097661 218558577 558617757 473218836 676211729 504617109 376636174 196081141 674166311 860957352 597339087 388735009 548257253 681674376 342336384 179669074 670247470 996577813 531651986 891088073 697631054 757797416 361082071 267654708 389271716 589593714 560308795 948898569 431962852 435787127 856222261 675965217 398979948 793642215 651421628 756833015 454672769 557865741 124435821 137034718 135148368 439122045 621259423 287747608 540873051 353753829 250600316 958829712 781412471 270184784 692517100 539047854 152721258 156248795 289515096 840112897 376343379 807614274 491556919 634173818 773329538 365267998 806004438 567084201 384203662 302718241 180250904 679387144 546185617 733352590 789484197 158664509 106186046 670116611 384534839 786292050 386270752 678032516 138203842 165135556 975574574 274742911 924110687 202806272 419938759 766661894 744561640 524953258 671667595 879395205 268753948 446237179 514226033 549778182 159184395 265420166 626070953 720465213 813596545 238317201 248007121 909849391 646141778 433859724 266094624 285663005 889502548 664847486 114481579 804395113 648118654 815131146 629624192 263212407 110568495 445853481 283966665 128360448 367735038 812034741 163050691 751559547 743621182 364469186 650740691 400207817 540344583 648708380 832800038 222609225 489955702 159858357 234420467 292531956 813141615 592592664 516679136 192696596 867307771 759176971 598022588 276461587 806955813 358840790 880865236 827691308 630883184 263446905 595509361 555176886 936083988 500315435 358256998 152211073 839513549 914782796 565924687 929748818 102871775 444848797 848807182 911949856 952679550 467995846 736521537 988953689 937334561 448227550 268778765 660954358 568078555 275266140 520964338 673025171 236469308 852065215 632259745 287974424 184175788 152051173 981764162 323254916 930198209 619141433 180055748 830935212 372601708 918073948 650196791 691166019 824721049 844100265 556582793 155152299 258607412 321892083 989960533 879833989 169943779 100342727 927737381 675459053 156158769 721612734 899447892 184145433 138568547 747005182 521914324 744730948 381315663 822467569 490794420 292654091 859727133 983159784 511542175 805187618 704327995 146135412 254474456 147116613 733003879 398052487 684999804 703014368 974931118 118165133 372465816 452491904 712326498 514497932 689585404 983818328 858441856 541918424 827966627 838114867 612680346 440497643 217533126 425047223 770640846 277759994 352777165 892021053 495330879 743454207 476058853 694912990 816845250 280898996 169491199 789945491 831150935 123711033 761588920 624127269 638605099 150824348 792296093 161497061 138348612 626957851 394313250 288997999 869319836 307466075 317636383 199683656 830247108 822476342 128067324 725090040 789244261 266296691 589873477 921265811 305466922 836222781 135598401 886309960 304531876 244082779 614605544 672846071 853768481 479960783 788749377 248404800 524117568 615450200 510217231 635737213 863031800 409810157 263140584 171807005 570300722 945981420 342127875 988540232 779630042 177988365 377687847 773125215 465808737 257021176 725525022 837336056 364280589 138220127 993233346 622258595 860421303 364497891 178336626 640169952 886013951 551492667 615329308 577858773 502174382 293567216 440020723 154616190 563348730 645797589 282058074 624381250 176466372 852140298 225959151 394535520 997591157 959715230 761626170 212891446 363030354 697876072 901734824 479025130 641894788 491374626 567081507 750260934 690126067 853439017 740922205 720182805 839785742 555113969 161683690 747604011 423294573 611080553 537926557 706651091 956586188 284096802 950265135 699411493 417684961 987858102 354750157 503950731 570382000 787711236 242179242 959208508 706343235 222472852 820461404 400418394 640218567 302045079 430342509 293463879 188928097 972440065 577624449 335592588 217666926 521396867 803697806 596300053 962221817 775353697 137981244 921478925 905216446 805157095 549816108 196753425 417265942 319063628 641383504 290284291 597799588 533093036 275933421 498826907 729895697 880597618 740419323 861575306 351039743 498588693 553066066 188085431 521676393 933002490 937473474 425398631 258891373 133086353 962544174 628680673 895661529 747263266 716646548 716808990 802293938 749691691 272724618 313758619 949112041 137321913 338636720 881230197 369837832 434500142 391916753 773577308 145187321 430985267 169249298 417784481 633719147 903076515 855806716 351782553 682778324 445422686 779945355 586818656 751336348 934290001 380541951 336072761 807533730 104543322 559219488 398708740 351467862 554800116 928216394 748185298 122232647 406745559 266184415 761109756 863694240 943379546 269975715 886979133 174225169 899267012 476143100 257540992 341086144 639260560 425779672 597016924 152835133 406077212 618027813 862258299 920127984 169711603 902051006 774373374 334612528 494535061 678677799 929036397 925635926 519058797 529499892 660595546 358376049 691753345 505377886 591253506 967339739 285812667 480944029 221515879 642221319 966537561 159675859 694555952 429706820 446928607 128629869 443614120 198168669 299753240 406427873 562964032 686929120 998047933 403588044 951994676 906980515 266509145 847597206 458300753 751263415 249113115 264210776 768303730 971160716 735003535 537515257 858275731 539295564 370193335 596418204 659615617 565005823 412930743 133266564 733175543 417976607 137920217 974233296 264326469 545309531 506715219 703288480 840966620 799632160 172309769 473894965 500906923 747924977 300731754 913543564 721011848 760003385 140215536 507925468 361653605 277833416 620453507 201014445 857226557 256640392 183934292 269260082 274937029 606046388 630624009 278638475 457735582 686250985 948886464 655208974 580293258 639059574 500728851 738991563 227006439 860248104 578831098 254569290 366107931 994288890 351301227 357678208 553415203 261847248 548053263 558550939 350671510 987263377 424128664 998661322 575821665 580169338 341102068 329377326 624256729 589473764 296884060 463476728 650685319 559796885 475174267 449950102 827183309 211498455 351920768 949158293 707537076 227811845 488120118 689487379 687934033 879689611 644192130 799735274 590421899 402503904 394477342 478554620 912365449 627624242 626406086 984252691 403306320 288505521 763953304 963876560 847717653 121423577 136994182 386402716 272979644 972070411 359640815 178512359 844796757 957521947 600742030 532660498 728946211 448272048 726819208 865085457 963190030 139322854 599512175 960834026 492582500 621003307 504450761 292501211 562990715 273923663 183740002 713658935 776602110 123854462 347668601 617849129 140136646 353837694 815628841 421696604 359040203 381794128 148669581 895230224 442481390 811258872 449559829 968320240 247771657 704691682 221145542 406224895 355422831 275805072 915650722 762320405 150050685 739372191 894301739 611429950 519244554 869450008 507994670 197717931 777581028 575716501 729445747 703994267 112094256 571303327 423741989 599949560 136583542 103284030 413459185 418239175 451504617 757564618 518069544 845756830 825682555 225759873 860786491 566550431 440504392 676321029 683371636 644764884 758781202 542646669 709874382 644386477 585280504 867296995 195907332 497112181 711409319 270455670 255988073 116224788 550073831 554881833 240471661 360950320 809615449 156854423 948778259 574796787 654038290 915848464 608897169 984464092 997071720 720490050 725241260 328185588 676571624 421105543 832731976 865978285 517459932 764618314 283760002 442204708 644548203 380105299 282808657 337656069 824301801 127470892 809958336 450081904 388719798 373953095 211165412 622692626 825177495 655751867 198461292 448280740 575066101 195758399 746710694 450662317 871447235 261595683 900044228 968030420 416758051 904520704 645273499 927043191 604150738 613689514 530808416 826791856 953741803 921559762 147371043 329987145 679587510 953071326 889810682 819893722 108583411 564416214 860060887 368764508 950482942 916226340 657993652 426164937 388859896 115134352 366707879 723670758 137079488 870964411 125991936 612988280 788373415 504755837 199361950 349750040 740651595 679099797 754583283 663626646 312984411 198770340 866808960 158487283 636682257 300854540 615387451 653954464 847162791 788336783 677550960 900256746 435833131 487104530 737713556 139706614 906680084 438217199 161514859 917066056 189282539 760294932 220748537 937562885 702880817 113767585 634706511 602279141 955146377 606382038 394026215 406968194 855093198 268894879 598741902 313417056 169039961 354790218 767417430 964010902 862522785 389262231 261580651 311606838 312610463 419948730 283150246 120408484 582426220 659476094 706427412 977529182 902761834 751173350 100631050 179549644 591361334 799292143 291141851 981642037 324151961 809070376 741978388 156807207 466916648 521050379 527155038 904174722 529130145 293428481 765194583 446300006 353674188 503121402 911524373 423856527 731480134 113755686 477007740 957558493 124397899 824441160 719506320 886698755 736211928 777726595 106798619 805158281 218321306 581282266 593250982 572314288 137448206 840226792 108045842 961058671 823966110 759301869 422130477 972502316 861007159 899349690 959956202 175373209 508646590 575456929 548249444 344571915 553349546 468814812 716863643 889194685 570300194 345628436 390748287 606138081 885259608 856200121 798742886 440905357 143146231 510918996 288421071 248081444 864462367 915040161 437569983 265578977 423021021 215595649 924589688 551111075 735440821 891973959 654025872 205206102 300053443 183592786 383556031 583347837 638722873 670188806 475267211 443344278 823065022 297859618 340978745 701220674 581302666 916427176 732106377 397272659 212951486 606060767 777586401 527540476 412963805 776117562 140366989 143800359 632584814 243539818 380412328 299673393 977134882 838213517 831421427 986661721 322750097 764757807 354989390 124448425 936803729 608199634 784471728 953425842 386697981 426776614 520754454 285747885 228906001 567853692 310985988 889009790 578292949 716636902 991966465 125546597 208268338 927351312 261227959 751852783 544141080 915136327 652719901 939487259 155389009 896073876 626221937 911938395 766890353 544012180 752640449 353202618 699941214 380560086 865887422 781635725 281143162 804625855 879770616 381512282 664728129 726324246 570057859 155284362 957024033 260446121 746793765 489409587 571337556 868188291 938549798 596558680 247423618 320697267 616459134 871238732 872535480 349366663 438803774 303039344 839283803 291087315 417903368 480972665 714995115 290351242 205474657 452202879 980884494 948112024 896785459 223756676 847998885 944151754 147460572 424552741 693721287 474654469 745493646 751443684 621190482 283305667 697621221 384319592 567300708 181500790 730351913 561196028 681666067 357169225 211617991 994204005 213245074 482815076 391232681 965691203 788411414 987689458 394087995 904245305 907302037 957083398 546272833 596300188 385419531 556585372 467646264 679278381 924743999 917467928 580330487 870546010 971609202 394356036 342303903 693417370 653040211 500106540 335408307 488065183 857692417 231077322 590371362 455202312 754956444 633180074 910075132 117901481 776761766 296420188 838924069 246680233 312639774 152588467 957816807 483117381 990142159 655694676 241006763 466169002 150003395 473510242 344751597 722452605 747168752 152298165 471902636 817042379 954252964 831125875 527602729 622948871 574739207 280457750 138109208 338941343 444223890 791848218 857452534 205370592 684539455 556888042 784461046 223900512 713826126 124800974 448261544 222868925 421418517 607843866 411468304 431801750 937280343 609752265 249857766 257518045 469051603 971765815 153441875 649589767 633142720 475351791 990889694 289021996 246980836 520723012 839135288 198524326 576878726 434262119 614150343 238173130 227372295 851904367 351447731 186985469 936906306 852525085 810575916 320568465 516137685 594902514 950735556 455368884 203234246 133594543 105447837 449130415 237328496 246982636 606815117 482392434 259377813 537709203 803629036 180649123 324640891 384081208 170832097 493769888 469986636 101257024 816163379 975682106 861539364 109981867 653536551 951590069 926802359 109656195 886713936 670293010 191943888 417824205 748426197 120357624 430064349 586403321 159275121 761960605 308708345 787333555 662689554 370612704 507969219 497800719 174256695 905584256 941762905 726984987 159809205 411402417 854533289 319047705 176338734 677903550 780511508 240541887 830890547 419554924 960823031 297406555 658757570 419177743 638539929 549923553 480425173 861191408 985399901 148511513 300600489 862016975 795020274 677847809 639491396 950308686 108498429 485233237 307098864 149454699 389423965 407231865 598014365 858374542 573322471 967039795 739443824 674860776 865047804 498466747 520696259 668194269 694379002 336493670 804777683 504121471 523460032 801573578 868374120 435735460 562124148 922240400 525061220 857353429 741789245 411638983 477726371 152244332 285535378 175776155 180205802 142774989 953744828 906860705 481406032 828177595 436431891 148692141 536006392 353230010 173500791 381323545 699633580 212616527 386935856 458655360 260506828 691720952 321778213 404604191 926692232 524642827 313811520 241207078 726157823 261205679 474013320 661279191 508002696 898376091 798626625 495781156 203855082 711058862 845333672 734864466 708588665 338732238 199329881 353092884 709841328 485767755 301628960 636456363 232356438 669023014 188439879 488323853 492576518 190915873 468378061 995551017 344951036 866253295 753464226 990952801 697352703 316498126 390940489 962391920 158985473 748236888 738521968 611306855 441024757 770926364 978760443 484589413 813349477 240584618 258243467 910274789 807945373 144733975 768595503 219150948 298038805 487935322 241587381 830732157 692863437 963552649 243469789 746173979 282567323 805163447 273402420 712015158 967371456 103071944 192163982 550900318 797977928 619483254 164784945 844604856 991409551 210860964 349672669 339102897 833025418 442353886 828723961 435038167 318915068 317324413 382262398 533852818 601248736 500117706 701622725 840346753 477616485 864471132 130341622 472695396 289959690 281005480 729728401 104632565 240661846 846367605 630136578 203603858 680240543 843519012 616014505 929118503 279419582 576802367 631368783 405429864 853006704 908513532 543293223 288401990 705004493 265213871 473238069 943385265 322554849 442017243 285104581 852788450 252332982 505150020 320181960 940329296 514033121 481700568 554806383 179964839 221050298 587799981 712582273 496760014 186540433 884939323 668412069 785635208 232714956 893614175 484765211 508231201 125979269 857297685 689675532 728837204 696828228 150502834 365553567 673835428 192170557 874521819 150168525 295527600 492334263 269078915 698923947 879929900 913953430 167816039 699087339 546945034 465020803 371353810 100000196 902469607 915109839 750235985 850210183 607176679 479166834 274737177 928703087 607739563 411323533 565416510 902308067 660897904 325768487 674681034 606880082 166788487 286303817 410777975 999926857 857788430 587860439 272649210 891603070 915306805 998828930 406136796 949447211 899078380 763108891 539149778 146059757 802690346 798238936 899077423 420819310 998675104 134254884 623077297 317718242 769099902 877302497 622247522 106331715 714749541 654732777 154973206 411287068 903142013 649648550 712063543 994551456 586495525 487039362 853738587 159716039 553606853 855828495 550961689 757016687 944032967 283464516 947133166 967563328 788277195 338802476 869314666 341442004 702197108 102711668 774784766 399904812 288369858 123837854 448823388 333538873 637860919 261713833 211351561 139060606 784433344 648296744 538867681 204274467 786025018 784374400 848148923 451337334 108699672 305715873 284232156 617912775 376443625 126181138 562541293 487219074 539346343 169115121 123939193 929782391 500188415 341482772 733891131 578860873 300642059 487353127 689253044 120244146 857810250 249213888 491728725 173587423 449343034 852317604 947112898 519093472 739386678 517216459 725486018 666280974 541160399 465093636 662802204 208478967 172999880 571065583 392788931 504706714 786332096 524687887 573334395 603218600 979434956 602081760 325704960 170349485 535137697 603506658 267316148 762767586 496485668 911980251 803161513 178287902 957300431 809626215 451678198 770472845 519143578 872902704 223334983 106665953 715027446 579052146 981729740 336923625 533052727 292431684 831406102 483264818 900765663 672815170 930397474 674500158 884706669 594752862 915624490 435151143 497716393 135296934 151894927 260671826 671673063 749461427 791300615 179735372 266205342 186677006 178429794 535567330 481152450 272364011 655598738 669996085 372287957 829533607 410001228 447538174 754397476 617761293 683370682 418478379 761392186 349899676 894430599 208915478 437773628 683054373 751265351 110588714 536860918 402844818 899673065 971796431 997261527 380461102 922370341 346621310 629651846 619070231 370760438 563130384 587450128 120701339 782351248 636855743 874088554 815653093 852997309 790564956 777710682 625398943 889812301 937209724 288764014 416405544 466305909 835913103 230962125 842262399 109191276 745281244 446667289 200984554 258074695 452840006 513924374 483512319 318426991 462836646 225802769 781715443 598603941 621651721 753075510 142744289 239132589 745061434 130652643 765992242 432785591 679541661 818895343 795525123 159480717 702440764 965237622 917866919 775794314 228678218 830623770 167949316 192850519 281068037 734032050 791538847 509964145 781820606 112209946 258826688 885081880 154907317 929001059 268907998 837433283 436057304 754683598 455714528 682741706 525029605 530147560 156427441 171542831 642518244 613966717 643429303 207444779 147881765 175702657 556042269 749435268 699929540 968834837 737042545 946732623 736188200 534085470 334805437 336251202 146329914 698424156 362433298 679710469 852632477 287491457 754776521 497056568 188928498 766476315 767976002 489509495 700616282 112693691 123249239 736968170 213904076 758331592 381374351 755538825 111906782 111754512 744164020 787466424 444266018 511941187 262523105 881469231 299270980 504443727 147706288 903230203 313288875 880590970 265051443 814361248 737853436 925677006 114446792 840572029 772372243 461029326 644287963 220496169 967977386 458620549 903499056 480338871 790789641 563695746 151520161 135760618 466680832 524866459 251726763 760409763 124247702 954535806 971583373 964307215 996591465 372040913 227963259 962038284 890037481 587039724 577688645 568533016 468660358 381506998 105445777 206507251 681829813 529775322 401101869 975196196 511855899 751584752 962360991 531147577 859573747 569048318 811372220 610920646 687396338 909506173 132572502 363492724 417425755 865217857 649434490 851619877 670513901 943305075 976569437 333993620 287954624 379430513 523333307 824657699 470800554 544411338 649706913 564627161 800897766 839639530 920284763 624538554 633289375 555558121 945941637 669283948 241116738 923181711 715929251 244290994 929449207 532346884 450750584 785693112 868297425 756509748 730284062 963456228 813896108 817662610 517281499 220944820 422607007 852413229 520290223 457992274 334720776 188005179 105258116 640827768 305651004 157353153 643590447 280515526 887230492 555913474 124585740 598715353 770072489 667336437 979547639 144315116 326391626 699936377 544181297 423925988 202008456 303451795 426771665 169932080 956220546 757380583 915260902 642560263 650304084 415630965 967768799 411637027 417866664 508050721 743221800 674047211 385042091 485608639 987585423 914811066 609052002 418936903 679682416 551865608 703986914 664639419 971607801 131879031 349632326 279644588 827729957 810524857 108083702 335650965 746935817 197178145 937157321 844087311 775609678 522993851 233744239 351116542 260340019 700422539 898332013 117178368 103202189 694662575 816607449 998164774 995480708 365659393 733239014 818541680 252462409 616754115 963471367 403705395 931083383 817218194 447853610 715104157 338219561 318565699 483222730 823301611 459327340 561026350 130301899 700188946 614716397 310798034 656061219 116252472 833889759 995167630 558884118 940209172 214099822 304663115 375598695 896581673 465953348 806451059 803970090 864858049 137416409 471266070 297486674 245451540 266514110 681560583 340083841 805272343 606482897 426954804 911899075 299081062 737418062 240007162 307398936 696919707 982852443 904271839 304322949 909653508 582830255 450626827 179771651 365061510 261520505 896380803 438606908 686413279 648093910 684411805 171301006 943667573 865118719 796296543 622413463 717836011 957755048 524940390 509748036 211330677 714818302 417965577 638625866 318979382 762420321 955532852 723020867 109507524 992878613 807428572 583927368 469121327 525458018 330458869 461154940 107051557 748070390 808603072 654710481 723051205 390331394 871732815 907604291 510867034 175586782 636386791 479548971 503383124 400517591 640053875 873303042 460561030 859702580 556698259 278025102 425659195 588552731 282124619 236052898 109300423 613748219 816284748 364970921 694510904 431580131 598321195 154274148 343975598 922082641 522794850 428519662 256994742 183429626 237200352 799446496 902532249 299480846 873332901 130739725 531167390 332179208 667860289 595244691 522600115 897279994 674621683 854142510 432170786 703220335 274891097 294022200 630576975 260055078 315438856 827190049 931690132 710757506 282795345 455961505 464486648 601059539 390217610 585565467 243917364 233472646 221009647 956716849 851790997 145835379 429084620 836081251 715491505 375121875 897050161 526097834 318420323 124626622 579301301 376767752 381803747 194658051 472721908 656583742 632448991 871641046 803895726 634247744 817914702 393811078 116530343 680520044 894214419 511989096 725396880 732458867 569079667 373462288 319114981 890509460 926804900 468133171 193610730 503807477 133597978 373809788 132743494 951172553 874829375 241540031 852689661 626115726 253135474 198115772 822734311 930902808 435403668 601941449 908744276 717456807 106498304 543573584 575555667 622038721 348448409 912508962 630863613 277290093 583385138 661494544 757317340 279235782 678287490 878402854 169262110 755924177 663521402 683871071 705718701 373122338 708637013 980650828 368165344 535382043 362898997 307693120 136171534 372731805 580928092 859985977 453621221 992328923 371476937 517367990 156452729 448779686 120274396 457589137 106645043 347946769 233552038 985745047 161242605 772496094 754600739 224560976 275374916 475066516 845876227 189770885 287607733 738191792 904416840 128501762 841151376 669565885 755905916 150065769 734083320 679153431 554854611 420077503 668459192 808925688 609770585 353698786 224585570 332542624 449181379 850864707 362086630 317196523 741983657 690186659 331254931 538541021 403906691 261017021 100420878 866202852 264447873 511745785 561343247 865693191 637077940 301779389 617160464 263457344 222662957 476915605 146761395 783799041 915165070 502574748 204868829 223839546 146673260 605359892 811375752 376002793 523847301 504007651 834682092 533725557 458273577 100908352 276757086 265111161 681953089 787710024 599200086 731033508 266793633 319170348 316195466 699068338 208916166 416863526 456439820 423345632 936966979 584777150 778725127 742280917 117337034 881193421 750570217 887774627 727123536 845054228 764910724 812982187 571325716 522562304 603097911 158910701 484819206 528947443 601895479 507624840 864262993 889691618 272155675 147170379 759205658 926323045 708181360 874523730 455463614 394353799 661551829 220815105 376974834 138112865 572855971 191355949 126601011 773128061 104064412 865199732 963833939 929900429 201852282 592771379 801717210 667595357 311385482 739699042 238741861 585717324 922484177 844651296 627132842 628113759 592413470 861463993 746716468 302200062 139177659 197228514 669065795 342137848 552402347 653366077 644246937 546520223 749116517 945149557 382445273 285134950 885933528 778114710 665791297 522599436 830126882 569985872 249262536 868695711 596000673 725598538 960500812 556846014 120311130 805241371 207216798 441406827 195134652 797101166 603247802 718232281 785931223 771644217 999249514 551055008 408093774 976194324 573925991 930823194 795749845 110604381 629900842 512893653 918195575 677654542 730577445 983382945 148506145 944597140 352315058 115094501 978195699 475683546 938206718 216778158 599974458 964634933 717726338 593251174 389107879 227626952 861593807 954268946 872237982 659870052 144102941 445767404 556325237 527932337 199146977 689011347 801441330 289086315 313416847 198357899 501478643 439008527 234464632 868770968 785221038 107697151 688198622 934915890 673186044 926738251 506896491 948356855 241986107 364657494 159921066 276509734 443724267 531238053 930488287 455534331 720362335 904185428 646059674 133926709 482671736 122095101 484478079 371293684 246867400 152674594 996977027 561314222 354463482 169079053 706129919 792498311 270001144 743922770 276442179 574652274 554723771 740972750 880257130 608201626 150368454 176853701 414216830 163854598 829285863 400859437 648533206 468879729 519009114 274980437 854185615 683034502 852181426 679056609 898816695 696015432 158989028 836904966 499062475 533847501 294565861 668073183 717953144 375424942 935082197 188011931 970621476 444765513 462263588 945073299 211118803 757558225 454981981 455081058 179495102 650104566 932275519 564411349 626456913 639652383 227070912 468861054 799383314 777673586 800003824 890375871 739967497 594865019 730895385 325922640 588707668 625227195 399411344 697204530 807780214 282401996 329507876 211780510 970932856 216538460 249612304 100050082 185572043 642747307 780355777 385025185 892129151 531146608 100670641 220775714 962682333 604931287 524124239 391082348 865641196 185199872 988288119 534428125 693166562 391184224 888064099 592897523 196025902 558274244 498031957 315947020 962057018 805554371 144951480 565929777 623722689 923484871 457691664 829773148 399007848 634178281 911683191 190296607 398665654 718732193 578617673 701948826 641393881 849685557 830477534 742385708 537696673 880022925 696461970 848141239 178544771 838241088 475730475 867800845 299025628 706805567 650570441 938369311 278680106 519376198 527263213 603077953 569362190 524174530 792181499 916809446 382709319 449060510 974067150 831646359 217867054 443082393 564565764 757056652 576023716 539168838 361120641 615803951 138159482 305745035 312156226 681031848 890247348 793233585 754518280 623087340 402315619 801355822 164613032 891821428 150956330 344985687 109325405 687370556 178208368 262456279 897861950 356571201 316422775 802760774 835700993 698591388 419152117 940519821 778038875 230431370 906492926 609580398 907090545 228066689 667863895 658453866 533549992 280039042 952859603 232677184 206836722 632985856 730478536 683998220 947828812 447279917 929627802 676925695 987298791 236162897 840741367 608250951 603305849 938781059 976604748 377734057 983705104 804423178 965333176 820019041 302321919 632806738 931529296 900808937 220343323 419481923 155335658 879407172 490142189 131216894 856973663 702447535 761604429 683242001 483191946 969974463 236646089 921749474 357607501 755582623 432521160 999362114 280640057 678238954 634002715 352773268 303626658 608530587 774503481 180964498 163892292 353593030 916730136 478684073 195017357 526236616 526940163 859030170 206106565 366243512 130347910 328267452 462155784 724205675 756831948 164058326 394475996 918339922 774504198 921904349 381228270 964516977 346896572 656541521 591416319 967690859 440328991 696500057 449295584 393742809 889556961 296785348 308515948 552083282 810202048 846359134 348163006 628645554 506914030 938010795 935082417 491279405 870188036 651839925 719371173 604353321 641460370 481039536 778098412 812621338 853726638 300270384 690836849 338936946 992170331 523823872 660004945 861915291 925842225 845778127 240927583 674876647 829554279 661675726 709514137 245929734 612842599 223729499 902515945 368295962 327935920 553802741 431404599 695244225 326628852 480703022 982437330 681545482 188719811 469089224 383368849 892303401 712324315 222550063 899468924 735487736 677892121 943585317 997539485 568815752 223300198 820655675 871884643 969155545 266215643 215768383 118256073 533796484 436957858 411382268 948319824 563761944 852345930 606642217 973342254 511435797 543386327 136918244 694771014 469394795 807684053 704081320 940893300 488120012 791415713 113766559 894234831 562856831 833330348 292164388 795516081 944710405 400069760 869407616 708287364 247665497 360167439 739493197 701403772 750898617 407871907 501352201 420354622 355472834 113835687 102411189 221071904 661733482 447527905 752820913 502044149 565202378 140328335 752434677 437773043 857093673 463805760 457686401 596066318 234464355 339626584 145505482 610449220 481145619 453173725 928667338 890066218 937137117 468931329 143802988 324637187 529694187 343743324 933291026 706570770 532276593 463638028 691578100 776559231 436939296 835364515 448390563 502499264 563568981 190559818 211877704 282386819 863847355 465039910 453854662 170014852 149844311 247076343 537266992 184734542 907830410 127796978 751236401 471700627 457756923 124088388 227799961 777663775 486440517 356113762 624423021 743401543 307801078 719291366 381702376 554583847 455283841 188341806 932734702 139025673 485328725 933995806 442372025 722129642 996715618 375862901 986372480 464041829 413308536 788632595 264377056 640266941 712023921 270968639 661211019 689620663 136638859 354815228 887612455 893998322 696956883 388637030 574516880 770140459 659361051 655020681 678376001 373266219 368280362 101948341 270568054 153781397 737657199 442787225 929008785 670687817 671188164 693185109 812752516 845682973 988862352 732864386 400196717 759767941 882557251 841105815 403823949 909880188 961836770 229370278 726726147 508169602 926196993 178092242 455929027 590127782 123347217 195446870 210448465 777420382 390137503 923738519 829439600 672858943 533666009 231074712 908625841 514886618 358741391 664115576 864472122 516401240 406901740 821520838 651228477 901637698 800127759 647700706 132768078 345159404 370679797 569290725 932663711 297909240 179673851 481146120 149597454 375903890 798455381 854061254 613607684 850037411 968034997 171349616 672201080 978006207 471538644 390980566 602158418 488085406 831369355 788704005 724560822 465350200 238533599 101910042 319880314 337190554 496867904 956280544 574787042 888165601 806861358 603698725 571015334 434424299 690293402 356223207 916057275 549800388 468616707 388529988 556053852 573145301 322328067 521300702 141463847 568783736 676633545 143546439 350119150 510774363 632300999 560907863 890169998 120158453 225857066 898212114 911196554 232556271 728786909 319132341 284424866 555700603 936692590 428864786 919955344 531619699 941162524 618984527 160150907 382858204 772100985 164781012 526664170 891719862 970703027 151446986 453170446 659099769 504957789 628982022 721265103 131772511 628318345 246996549 231985763 232790621 337355497 411660987 748703478 898636030 998863453 699667434 187283202 843771745 980578894 403978208 266927748 643943380 109406485 123471566 225305820 101407971 493424916 394455817 897896512 462101495 289338227 597204791 906663891 316105321 870997759 628509543 513674571 614567721 385057541 709796359 337017217 104818826 587286653 646114200 228435438 357556131 422974729 960130048 662689026 298446878 931651070 612611815 146616187 331532568 295112723 645403496 766730740 615458145 139865765 536979864 546528089 180228241 601381812 906449007 897663847 778062613 913586178 290290309 780413587 949421540 174382074 175449842 397003010 127163576 970494945 907131617 657288980 969738649 345201914 355693520 702875719 838391411 462804544 567831591 897395230 682119418 545843184 792414346 156584530 827176743 927888049 881205671 673919765 367282367 967205852 803048964 418996729 649048841 814770431 102422022 465492284 340158090 926099666 237180534 670703687 191370178 520682887 930200246 322873308 631000272 753736907 736163938 516131009 592351089 834816195 594994800 370207138 612231966 994817790 906001159 116838685 365891562 768619538 479680334 181388278 548699386 956960236 391366742 924347864 810212513 156439910 242925791 670241960 586000593 884460008 931292003 101678784 268508237 814478708 937173606 636170897 497245278 528008068 741977711 585251816 661645929 282526514 466651606 983810615 604547295 492837180 416706138 763227968 375238526 125184758 220949430 562552499 175869339 291602802 815209226 550324975 174996644 634887859 368190974 931533967 962124997 255287851 536725594 120912904 949541250 252216311 662218347 115383007 891280388 215805195 815998059 928429673 485571058 318649959 200468758 751133371 511847008 380592069 539829546 312123638 955195460 448956977 511873431 152815876 499664215 321688488 415031180 153467412 555350622 539947231 357580084 165648252 597666348 390398796 349856929 890582078 380034787 739593873 879160440 167649411 154295301 339317864 821644274 310033506 469764757 762596460 179858803 447340805 940490497 554989222 581010990 672532991 646054462 992700388 515528368 361148638 873632403 650546814 201159711 140473698 615850336 416049475 832518779 680618142 415185027 113775819 230550582 784548149 478017580 405584116 819267729 672544512 658813332 391665001 996851237 563888418 534133486 181511591 283624551 752012937 257823730 922155703 918800417 168142758 920854829 275915282 615946952 846734632 537519483 677016354 821511656 226067824 929872060 934371467 145192578 944913031 574170391 290061218 667340047 574010831 703192421 288776213 583525435 989032666 476095783 521976668 850166484 866828649 353286196 185349017 253085227 561027562 736970248 991306077 225310099 509115766 766700396 962302385 530129457 853884873 746451946 928338232 975905427 995423901 790973733 957025631 558954585 916405812 463965447 343422235 457508826 964187615 488415476 121160174 461144941 948580828 461174534 684251575 346906824 457392543 805661917 201659719 617890785 601672284 595162430 351707652 489496190 959500768 973262823 381293542 282124021 684001083 694414872 978453287 551204472 314836710 587719782 673905863 518792721 902192709 774058057 189988312 870369033 387753039 913491011 777660392 973659561 969524272 148551305 438739546 546243313 492276543 768498136 228401926 253055204 378177237 547494843 492536940 534357387 773351244 578044247 140440248 280812148 964238293 319752014 443288922 558137642 177746191 303095625 126588547 161207464 620511478 155983629 437688951 674260877 539939219 177361257 355291584 121728219 983928294 893837221 679465639 853331466 939040876 396849863 973052486 849338957 224810597 497583453 482599417 465729433 666441721 937504258 513195273 934799062 763238238 351528825 201810782 360584210 918539338 431872348 675025327 785782158 393833971 758315308 412932025 674218838 818472049 385896203 531178370 416788123 971635869 520604891 788317382 611828085 326804610 193421902 127548479 823363905 343723573 174219986 175437262 286451928 756216713 774977563 369530656 540990856 252803027 895251106 410237889 729870048 259400397 353754609 403968312 785640471 409259818 376223054 280921873 386643202 784284162 698471020 777765901 347684501 481370424 416661537 905208249 973774626 554775705 583281440 189922789 914406488 178902983 115895370 173878930 413342551 451736518 423882909 855178451 432058785 708181011 683534509 694100617 226757422 441112273 533646333 811794541 703192349 728331131 898053778 956890088 920780722 965396453 480077999 353413363 100633836 815182636 432852176 801192664 669704995 165077746 537947045 850513685 961140406 278076723 206628376 927082326 737107149 943271645 648575850 151718736 385972979 460778097 456341588 786416814 324719192 174213188 343645801 566532038 343016168 360523455 709900814 819003211 974352709 557166473 478172298 174588430 711958044 933629349 506873972 850907666 269189736 927695846 637281323 979097661 982505947 577557486 194991775 654373811 704811228 268941792 716551351 612005882 820662464 442258103 672115862 832569718 830710369 147666400 902846788 253596878 186993625 401776840 441080987 656446506 322723431 901732643 206182678 766503870 999637640 456521059 436466990 653736810 168419637 398831993 752968846 601759841 420049432 983453342 752072674 145323239 320877437 417130214 416641540 348972909 709506805 981822217 748959751 549063797 823567881 238929474 496579130 704278023 166104490 423910633 841162866 218763171 732004017 922765371 522635447 368684219 650925483 433974944 354004524 691602600 235202893 979961181 636298586 967546584 834616912 848823722 998186406 861972230 940448205 269483678 980819166 745445322 930153369 900708484 718308508 967461782 104950950 726553640 790320086 941196185 843364392 919290323 987837177 536396886 885450655 330146870 720146798 548372586 379512384 680911402 535361702 854337372 836882446 583973977 417188862 121029405 524633124 447479605 254701084 515225556 187759535 748271809 905848660 394098284 236194485 368760722 823468799 431223474 919987705 763400085 148109180 777318656 216264719 110445233 423234497 408812792 370956071 239552098 869622564 767315550 693736239 834112019 822177877 153661244 111699249 159630434 940018666 711596945 380632165 780232690 140483193 151155566 270083379 708611072 380149740 729025300 886302764 345048106 834233522 384532892 164777910 307790753 164312209 474138604 107021308 719926343 174615606 557990807 444677538 827527714 570890244 521957524 668496364 217361261 904735967 470684692 978856968 617091591 364553972 309833363 318607146 368100181 107421445 634803972 924019487 723053922 342301456 758661829 686815070 560046512 751556161 864131805 894219646 151080866 589346982 904734712 811233935 683000458 554257659 707207429 888260039 773581533 911270656 653241849 710331285 908220454 668662150 139241351 530841795 191908813 966200700 374547784 391103213 579034199 131113436 808945034 405377299 846271564 708632020 708245115 313834290 133749590 285734089 148988267 723376266 241399321 861896216 279753370 240363446 938841427 352980140 161693435 879497837 179960470 517313025 882498671 425502918 836819042 630133149 810866402 342661431 707308792 152755381 105207388 115983384 323881079 220777068 792259244 299036285 325632369 843367659 416683110 882600860 736893551 895585649 335452645 263121641 880199238 584234142 380998295 668113070 900961799 867572266 730431880 646803125 578860437 827361692 815487099 272631259 528667587 956586654 933822896 138275128 619631431 273997315 670983368 685143894 723821345 963817093 853920875 615063099 838343411 632764013 653401870 679310548 583555286 899207391 378440123 919228926 552233625 520313494 446325332 415168060 662022256 658264252 259143728 453441192 588258964 584001774 563911191 101308543 169323134 527917872 344069409 402487687 737975498 425619291 915888795 560706090 895437868 300058691 817253259 874511441 552804853 740084805 995909369 851343055 766387890 561998342 465760998 649770656 834072705 318387348 334630878 294751279 973879803 785493902 204413792 646562099 355179780 492630806 600238083 684253700 335934231 999829311 988477688 816357526 435133783 208043767 427360013 254738077 930975771 783789824 152168983 660971065 375090677 106897627 874084628 534495982 796414523 210449102 671746294 967616207 797014672 971489470 863074626 488499989 783042342 986682984 236031220 332949820 767334138 546478338 788930002 958204708 590201186 557240097 671608980 549785567 230008935 819938779 278247485 529653612 358973278 227349661 108195695 445903084 195931178 644107299 191932847 217600991 819811974 918686216 228823538 748231034 296198417 177662790 306193878 177649539 709990629 431654749 427039282 209026151 671948070 328992058 851677207 411881731 220058566 585422989 347909706 511572545 196270432 829000892 989915584 668217719 875297600 613570087 296922939 295997661 914685164 100677716 447913540 602331710 926206223 678446782 375383433 747344321 284305944 224877074 108688987 754588012 323315129 497508956 448288638 528435789 326939156 988458241 707592352 324601291 815536480 877293591 994477064 949418282 748600565 419727840 501774660 720542013 114666923 652184056 208305814 235739123 389076978 125195194 780656660 953447998 709647316 743360312 723425991 184266279 170129434 145398953 457373273 135012137 997382608 859617750 837630053 280198630 839946672 312469809 589596245 473167675 429371351 495585012 930795921 283301473 890510014 153786660 161922070 296122517 976204699 329774256 123756960 337287847 689813841 244306333 406766538 478008456 558353488 544289778 342105054 887895318 281120849 645699203 661484012 573788418 336872133 377014992 637384356 890321251 409370877 830464849 565584439 474793575 860377085 774378141 812361492 727566031 531605808 829753106 462171513 481741793 238399272 528674314 868128070 500898013 756081811 286297877 235892869 496571254 544302892 808001032 931232870 352494116 729646734 361227041 771828099 839502402 663058535 103173577 952366679 143763683 480878981 628905227 271911965 334702073 943426367 258390951 459378580 284388593 491215593 664436343 487983494 901032315 626122402 959064804 215391477 375444642 504419859 917272066 727562416 562640872 712251494 689979662 753949139 729816897 604631005 507972764 530547384 502778570 828687248 378705663 919930348 302351589 870214948 344099090 464029946 391702298 342061526 554109633 969788855 736771690 154814187 594082593 894958893 645099044 751578163 944125404 571266817 746152240 555222133 745698725 790326144 288601982 218548820 760526478 167685723 610497936 168831730 723346479 162723105 539922807 900849079 172408298 300465559 575590211 737934941 182439625 383996734 571649841 168843634 433023211 427013535 264519760 788062672 437093516 628545738 867383825 477813275 469606710 892099380 289624567 893840482 135804752 573093655 868996348 332499462 768596348 716125139 907216480 624117813 511882303 266752294 385564429 216842960 692193130 718449592 116068032 887779820 785309497 796842118 388454274 675585684 505263191 497056817 678319719 968098838 215388126 403664131 258856098 174791569 161195165 597278759 178672263 576229649 907819742 792996673 864194179 433015794 811969828 692639705 155113027 921942542 530308414 495260049 380489965 416651567 905175468 823475453 949937003 579017225 509784170 980963814 850621164 493383633 790264246 147139696 509727707 576619709 285722359 111969913 512232160 433680294 912052684 552915675 693528131 139650646 819545192 332859251 812879379 415738422 321671728 394742883 937593604 899150256 341038469 784911890 249897623 487258753 910620516 312274322 584005631 262043888 923383205 201621999 339374243 459802054 629939299 467240706 420812345 484675062 290144175 155359492 417368766 321345192 312033185 480330984 820816331 520282735 271704898 546652236 437753098 951705426 788705095 343337118 172374142 293831998 398766184 736123467 153886098 451687519 887950500 602564137 289300814 798415455 540205430 285511435 219503898 248390864 698121976 691007936 762043872 688766130 265558277 785807439 270427361 591183489 636539951 103300981 665216558 834933096 567382481 687509125 864631081 900708064 218246092 651060740 286508783 126176661 244245852 383682975 375048222 945415066 913882208 910127057 685652411 345772301 271488923 328758730 183363444 516351216 724533345 264594995 810931092 173507434 934138108 204745420 279305683 876777570 358266344 867437547 129782298 409817294 849945711 890771498 584754196 154413011 662990084 821432404 996675316 837910786 401401234 995765971 507741533 547772773 472827471 897799277 670621511 818480429 207866296 818690204 345416929 481823779 483744129 576912216 347386328 742764845 835775915 395588905 645737080 198044661 713167807 973815232 258250151 502602687 544631393 177944407 933552056 374953662 459870708 209033938 263623743 607275598 281520898 497262552 946785006 161393106 343008730 479336053 852133900 690033092 517219894 992704616 991295551 679242358 978054052 906330931 451651802 181868515 709532402 470311821 373377137 801010617 318437860 777117497 846003233 633943396 615874295 118785243 197521692 610887967 235111062 269430759 467778425 311352165 104804413 362656405 400790090 917243502 829744869 829242919 186370681 899811797 785849694 734051767 247531318 466890497 224076366 687787656 418823194 926357592 154803148 894662365 105334858 881812236 902425408 969940287 931505021 302113324 359668009 524467474 951150118 574948346 542899002 239136153 576129736 953382045 395694837 336974303 498333250 646762366 685315838 226552970 704543311 205887074 137661894 210502328 861258614 441921363 332962175 333875934 785492374 933155496 265473027 960350099 321844467 506689613 568354004 492206246 622110983 681590365 522112113 840591998 292087891 707294755 933629978 839411591 627929059 310443199 248139893 402675879 887291948 787996025 751865016 611199651 614729529 537899581 979543794 888777384 543160292 590176868 999639993 549999410 350783568 578685162 725585352 712916780 368080572 367010440 923790274 837599979 897092364 344301513 246828052 721045774 147049699 194351988 567346725 538378364 521307020 427398418 544984931 486707557 196825866 372904919 171647307 905662354 451533744 425800396 443859198 961950280 984399051 777147081 575352315 838885647 335193196 817323878 336884195 766562814 723113620 942278541 109959935 620719741 826414245 918294808 431489776 280302610 270933245 909554231 684359789 705970715 912165241 346718596 641463590 494818391 778975416 596647567 894253653 317459305 508568114 869831101 632298769 162351636 134864553 793582361 329730800 146661691 420653807 545392625 926128349 844461185 653714326 421830567 638527129 847458016 149798358 660137252 112846268 152909903 448889668 870964131 545752118 268736568 959707181 411393497 438093815 199209392 304768849 970760864 678273607 141488057 475669828 835515013 588921083 849435775 506486576 537113588 910512905 828586121 145428598 212315695 406382699 460633139 903512019 755778269 351932414 933306023 669135041 604624407 522049622 958609362 992687922 709935411 877311517 458555395 679209789 162557934 745140753 313936771 958902376 997548818 203247781 803129447 398923414 575965201 966134670 636581286 370886725 235732613 381656068 744448114 276649798 843522631 911773922 845091929 279650355 341126827 626046197 144264265 728649109 935698417 477464803 549003809 202074632 809704173 580188385 135241846 811193363 906347850 791567457 208173687 211033131 314677326 817827363 799746687 988408000 566034326 325657126 746483013 730915943 278359165 301982637 252539529 290940783 877597113 721651543 518030765 796301879 361449150 974698053 421005483 400000918 592719947 865986982 295563259 670100828 817489153 264313868 240745210 763346679 437515760 416662175 236247061 123279224 940469733 237731495 931445712 512722352 388567969 475027139 615820941 666731957 302543954 500900691 361616335 799282401 661637674 385627609 605250544 841919135 968697732 871357912 965905298 176447297 700298821 264468165 173144699 505700022 689695131 347889106 982971280 603335876 472160941 778540164 229565934 520686984 474032944 221071193 221994553 542409987 489887865 306547078 942864951 911266424 530517182 741601435 419111740 715568817 955832650 900819358 578975565 745158263 407808247 449735741 866002605 211723009 951680608 718756339 939412648 426195011 236110791 590354492 481019459 463122940 595405352 646219866 649166791 892595231 886196763 305465324 731731036 117319816 864842671 610909664 569734679 911749908 254990288 333533516 971960482 355584059 304859905 892320745 140429989 694934364 968664571 749146380 699434827 807644452 841708605 493040151 339315495 190767104 839222361 944583700 657213316 670556350 679751928 760829500 238860155 949484294 137869491 272473380 609127295 147015076 734799718 526654873 217561173 264845292 899165444 523518482 570735810 955857523 979592107 206368956 107849291 186940496 778128426 358125398 927376324 401084643 517259656 744204754 438009126 112367518 792929865 171722946 407151831 411803886 382361358 940403675 138240475 164674016 929513030 189394772 913413492 928909944 945515719 632041750 939276738 641840734 556417194 592777560 956086215 959121778 141562386 851657343 908772731 809577152 585332008 545422049 423359003 798073854 291178371 525433215 873382156 428316927 159090576 804176680 404837223 826134919 163859267 911342624 748652651 673812125 623804952 542302789 293207237 438640485 567160710 233287086 169525303 531847642 726340965 496417986 585658266 470397886 564888169 898637700 453782408 941247224 200249201 521090934 927227244 998381243 178817373 668349581 872678868 823108000 445393879 843724693 118890931 374965313 795229522 407727218 510147232 392511753 369501175 558816120 523509197 373337384 305008691 930447962 437540015 822425482 152057025 243460298 334905232 362933444 346856947 312768639 729045643 477372881 555304554 928326345 110513197 154751597 737107623 357150272 991505717 900207511 240948151 771525701 196026081 629229333 100305055 553931006 586375229 423250206 456195642 128789207 360371526 769538120 641724091 595245607 380200620 193555740 523685055 290581391 232595441 390949744 347702751 278255180 483350288 445166350 863349095 743712544 121429364 755700770 287579941 191719380 625770954 323787153 680636903 746960690 495016614 696960310 783617736 872520755 693172444 982246181 662719795 927810006 952979847 180962417 692620552 853947430 292140858 907982745 519577752 535660548 437937255 520715931 786066361 245946350 220996510 349198228 424258914 243445664 785544909 583549868 934478770 942454952 116565238 217690041 312426426 828804974 523295984 893663068 990642338 864490800 651678634 970403330 389393739 165431556 788283691 750304323 743640917 893108935 784549135 768756101 200833047 463151628 884950290 192520183 725645550 995102883 341536875 302845781 281286967 533852300 553909588 236379288 745144336 117968097 841621029 531975668 184607291 944324189 956232431 400440244 832991389 561731731 823434456 639623428 348588740 362549644 523658208 829647013 510168829 449866147 581396006 935461302 681997730 958109344 848798736 519646256 616021734 284803002 884996061 779342861 643208669 150939012 499046760 217084884 792186897 666827678 437192676 508935640 520512391 456943280 870596323 138671182 417637166 627844474 267430271 575816207 739717243 264333353 672145682 269631180 941636487 741638513 368518834 316364378 179082729 887239288 218080641 685923025 826605442 633086441 615802261 363708438 357772675 905981609 522366748 464571696 211737214 281314099 934083961 747260952 193315327 526003317 147911581 569225660 703128511 382690912 545733072 291201785 525800301 321532366 761205993 689193361 431112220 360727803 201494088 688472656 531419548 942394237 964614553 180378884 130479150 976945737 195924958 535195330 455457207 149496292 771493242 916543506 894467988 738699432 503588667 223965896 673207238 744960462 685890828 464011423 388102274 359770321 615414843 406871620 887124204 405685712 667082664 740673842 551728519 659829697 408225054 780340228 494243691 607252288 642094895 795993849 878676490 776284398 962194221 638246502 121440943 138062842 184529644 640247673 144670055 176706312 612545882 279035577 286370818 677181796 873868748 314903931 174811027 936251594 271032467 745539818 315660552 549718501 299165761 609723807 279366887 799337458 527836119 235244385 214054163 706671589 139954761 189866891 490160846 267672931 129285335 430441063 721883528 915017900 423209827 435975255 575857643 684765751 410268476 582294800 159779463 291766604 610373013 152589127 998444560 607725994 429145702 991595574 419875696 450807064 939041250 925457714 984994047 665050626 527532881 455908122 383967087 659373422 957683478 454526312 811832168 434181114 599235205 113116845 792197145 610605759 793580330 693418281 438445756 498503803 174358715 909614181 853805191 458254812 827504329 649634741 709962699 532611271 187097759 833078505 479238539 986915214 849990001 269223298 661176941 906516334 355491491 982048458 141583713 769559451 644694331 252484643 580964349 671953957 230301083 234748250 323791592 821092260 462850428 991617054 979777063 481283358 615112541 346111064 573745045 903404827 429364421 633574122 272842877 729412933 879615229 987605190 903663539 781675903 104070374 226639643 903527800 598552482 253888614 430891960 902212361 913720699 886985745 113061959 366184254 177142950 622416501 572344810 538350801 701981507 339363771 468935659 577935064 353193537 363875050 251940817 532597841 875256823 984238979 463988274 738225216 623406558 561649132 845547065 318663660 972080297 880726083 833175533 276477238 269174240 745440340 995580135 783523985 691921067 323048019 103094958 614084750 953469932 679914220 244545049 250240085 559473378 110405011 372233287 376956837 697028793 665101165 441858730 791683752 345277034 258441829 945140791 921457192 374921036 327745033 980831403 299180935 250850915 905935040 888204038 147701432 980422328 857700121 205089548 408128967 773142089 376267778 519453798 792481923 705016765 379883184 365096984 776737856 639096420 527553549 301227301 430362217 982595003 983738883 871169575 814935026 500339093 552689187 160143202 137326461 257042864 559206242 667331646 582280645 601656262 940679749 929674066 479130819 488109784 785160372 761418992 889827760 986101878 942916652 435313869 386252125 829893642 903869501 773328309 704372514 588825843 802703969 989861666 461978976 999054663 422802887 695884903 966399902 722359801 445560361 359529431 802594791 640883202 355530192 180805527 159517652 758860283 440299049 724104462 160651038 222300854 716304927 580481833 219232805 426993242 911314327 108973314 765026511 264880374 920228446 212163687 225520268 202771437 515451976 611888243 815230952 618014759 652091192 307519799 637091582 357395118 448522935 814726246 557612653 357735142 600876755 876925096 354706397 275310928 310761398 308681624 198733954 693078370 458103989 756834407 356531791 869330401 248337329 610720199 432907973 108564711 377043673 182555931 115156846 737000332 761442774 269645617 771700704 398330731 366469313 221168232 988612259 573243745 173830780 997388029 367373261 682062584 164958961 222962193 936490123 519696261 235442679 658844585 522597367 549411893 271929450 256896305 616283851 268134285 867429265 750677798 275209119 945503399 234878374 898994775 469832991 491208399 262888344 733289959 772599070 687177819 255297477 795927918 569110941 615723173 988723522 580162455 822547439 587422227 246625967 524765160 167017681 933065043 108990462 954720432 372109797 134902793 787635026 843345040 800616030 181468692 701868207 250239914 621365978 976671397 225945421 739731063 742540487 956363278 915336438 216055112 453529021 178358090 614971522 925353355 402273917 530595410 197319602 270658825 216477171 958922471 254174046 146001211 377282954 440931565 984958876 967737166 246212722 530728539 861980085 397052686 660335847 628882319 598012540 157096232 640146330 920737589 530672999 471640387 758425475 400959592 801319205 265811398 901633070 446322561 315595584 832268251 838162146 565586311 839383895 272678309 431938079 784823259 991192083 106039959 216627382 133856713 763552764 350742764 403545801 644759993 144938239 320523982 966810042 997774727 750961702 162410902 404841603 822104969 247765903 417923080 167507119 436137792 826231042 912784476 231067678 495515869 103108186 430125376 192600859 504754395 165608671 605810383 735509289 737972999 649692486 100021509 545078866 291519575 820334286 347780735 901629425 724614239 918816064 604401120 409231310 505768013 635785504 322083162 202048805 843600838 772251066 508480797 626641860 520590299 176966825 288278538 404095994 609568576 524867531 139950665 143760236 675093997 153058724 218292211 168642378 542172808 475000132 520700973 367406773 199730024 706687514 246702023 688150745 434051428 689375817 644896908 492386827 375673978 488551315 872723368 718617278 633429590 393501536 847267109 408849059 924056335 866340651 376978994 529824436 553346616 696099731 116025230 724626596 194522312 419234115 548391279 884670602 558718197 822828594 354555576 898296446 895080056 433580050 510972756 364583543 179546338 846986370 711025787 866122092 670701394 301875526 573870171 731026015 948131224 423259701 274730353 893439316 184179171 387417594 990031880 168994741 176777161 211112209 480682098 209490225 321121901 934760774 671390669 965390779 299260256 511825463 586153361 699857523 634284304 653853018 245106091 333282949 341695623 948506229 869824224 639033293 175658434 985371006 176671320 178712198 557517607 863016116 886217550 296197179 375859387 423052884 140930692 759884956 782395343 882300202 750337623 899859345 785580712 928967216 552485669 417461451 827794864 628221162 153172900 116252796 613595779 469566832 675317144 611881281 889068921 171024066 629144419 977662848 925924687 623314578 644767448 435695368 657116677 330552824 851877383 471575729 550636318 581672227 181365999 579663825 569880669 455567131 496277495 761347072 877664401 894411096 130522533 469580171 222470551 844347858 391859397 189074846 886616741 518220831 278101857 522645291 809965507 208113647 635333467 696552754 807681345 252847634 327656179 264878180 706480936 640042638 434238399 140601098 455265326 497471791 759735943 423794855 314494902 613653261 185060048 398317418 821295710 938576021 738797480 960296135 239073282 783752835 341268418 474122254 189949698 340142148 811291079 592876945 495997095 985967705 190514126 305865846 321385946 194102382 972236732 750511982 673030453 854581721 144166672 440639626 520323272 847170759 352689379 516991557 640988998 545535460 481465295 550815357 196704631 192704575 296483186 312024782 453152376 772191858 199236295 273875218 186898062 864677918 698061284 147025181 244473959 345280979 754094124 192199464 104411596 399031925 315201798 584694669 514552685 669043385 593745021 752576146 302846266 840971629 851177613 828299352 979631955 723667093 348287160 353011622 903064697 399073506 577898141 433132834 966144642 442377472 666059818 887599365 783500619 728836447 464600749 581097424 247746677 231871151 527849828 571588814 678697346 909355084 348838873 152541030 421842913 404396871 448301033 492466822 757459324 624564036 771040966 959542309 515303608 174957174 716708584 723897513 108184360 505554336 990414406 601668899 630024486 164015805 392778891 636034138 129969662 780855734 226398471 897033864 253329730 990905487 479567237 514888784 430371226 689185284 600979033 579522005 325641372 376665578 747188671 103793255 111588058 716958822 293317254 592978980 929905258 963115030 288748782 895461383 640613307 695904742 857622530 839153628 697619367 367106310 945812788 766928474 191359033 969751467 476309488 237960365 881959602 794751581 154491747 334526367 120924480 675941819 224858739 669339798 351716790 844327445 999531285 802618384 504014400 224558127 252796157 511946240 834076144 755699808 391437155 990663000 237754450 873061193 851496048 540807253 616237922 461940582 362930545 965833611 416051478 524547714 965461686 370611644 648936609 191837568 290805094 964516037 130403082 671891339 391888558 156748733 955245257 954010998 527511732 419064605 295766134 312639031 796502301 534896900 999888051 665754579 780363612 275571019 962784377 811938838 791480242 486569553 159057136 977949123 258220944 566222585 653345084 566610785 105216684 950852485 613204974 328743927 170610550 199540110 700779072 995508007 273350901 354670066 341867355 307300333 733121702 865355030 536590692 105904905 530363946 768240643 545643395 241364364 918289790 436987946 171793115 238794515 115438411 136824665 933022887 225863184 105980964 897136025 349060410 286224895 759344631 571975024 252197721 635817171 669912592 540838228 727190962 359773596 314517808 544619485 592727848 374234060 102193735 264471670 702909586 372412156 485483296 379163411 708903555 842968088 903934986 378402088 336086693 959688815 268226326 975196697 260636246 539692882 986396325 647558366 139864736 615767426 692903470 601503618 203883191 457425714 169689833 845802027 238544893 370079210 884251079 234713054 979674376 333744185 468872362 345737923 301998332 187967405 924892913 931746202 360756974 761910303 863307816 204923412 441102547 427405981 805212428 985668225 892160504 252507265 175188884 163664508 352808833 996945405 860484098 526460263 134299035 550016663 865540963 253284892 981344649 362191647 958781208 837274792 771368866 693390316 158427888 445935530 939311424 872858487 272973045 365266049 378021769 659070863 886279369 905716772 526986177 447407468 329699476 816709299 975341206 751132876 678505532 323710334 701131112 868342653 644674824 686239822 333101789 537884627 624500944 167699361 434418692 321111680 911219786 269858797 986092878 680574529 244317138 742493701 886230723 646535617 977639908 825631516 868028145 635744585 883412141 145871824 983576921 173845019 464247643 501412136 302914191 561272997 885335771 849551771 639226253 663678252 731109744 370580219 695750109 407398361 612162764 481195524 195504713 362854906 231393118 176671303 334612493 857969100 182134390 252327885 928838998 217800826 560719558 953776522 202039227 107849282 743489751 321394524 502252582 624853411 583889180 601461846 146647782 666151532 586099925 812180452 669340496 683053000 493053313 337788430 791612606 629818802 742083247 448895563 706014646 769134382 780851901 673407290 959464935 422518593 273983011 731978639 916263714 354659313 232840954 690729734 384224793 264461822 761252688 868830194 151133771 302524518 107931744 680352734 637424754 857129523 862673375 559166625 245764286 842360692 509088070 540529244 855013936 507055362 950200023 765328890 667842892 858726653 538317274 660463846 918910843 679403367 909836789 224221944 976876625 366721650 154224651 428401757 828896581 562982715 497206215 582648367 969567884 390823732 545992997 748184753 233410421 280643919 524827400 882965014 837336256 568595055 803507902 273144439 656097162 639850402 163265113 325294788 413497786 359384203 347656939 239581381 636258882 824319516 231085841 619426305 232511682 518448161 729095612 499206988 435240963 211633154 124860216 792391423 964666836 339886185 417721998 735606039 506270381 232638580 652581353 745603200 742427522 225200552 896202867 421878860 957367110 320830746 753059011 124734864 176412880 288064348 880430189 432815933 261785828 801241184 559554340 345501228 782190177 521688602 638930689 367461880 135937398 667374132 162519543 609053118 596075028 102615439 122041118 379319922 709410663 260934898 948091031 945884418 517419263 838024458 812784147 967631445 565901792 767391148 625403985 683612211 594782840 844175069 701716664 582081403 216202737 893563372 528472483 744102528 635643753 551581557 579133951 122936442 652486498 355633280 455403424 314670323 696944385 531899136 513152446 315432066 432375198 852629241 272618740 692124839 262216998 896607189 104622025 403607362 283759996 741910191 859629439 998313498 860541338 533995222 473272460 132166662 709935677 123328470 338935950 288022547 666017580 948433315 855054351 702099354 901189125 584048351 387753869 161783158 939297726 531480091 491013605 735864295 621413904 415606499 330995602 139886339 236661895 391025518 361725349 792702608 667503604 560573276 450666818 189763746 170115348 909286813 215151898 220938609 305996498 252883381 201868515 121340777 134153672 919245364 799256454 876986151 722485196 640161866 255615895 825043252 149244855 521773127 614197134 648750960 869558016 151565650 197323645 939101357 765072821 590674391 995926530 715801285 398009780 947714425 424553982 743385315 600145976 951004639 921683562 428233385 590039551 568182200 468392738 485776429 905616205 955517120 248609828 693543324 396648796 883831199 247125659 837903689 475377794 327167695 811699704 159290077 293373685 825090197 755623629 172254544 492991375 133438079 911919946 971422718 179151900 583797863 315731645 583578774 308641891 860990168 633506887 712179523 815379809 534700064 381131763 511991860 355947065 892510906 460734047 905818316 896810622 734032087 845558995 400789624 445495727 467457140 656266058 397942594 101703919 307680034 847668821 649179687 488171132 630461257 876451886 715056382 171933883 235699348 213569717 948982915 504464895 397255458 489602890 885253566 797486892 631511814 883722942 633878883 291620816 513857909 531421807 297626092 235575581 105936341 962324319 371291292 546645036 510638587 640520371 331551836 780209409 427417290 766714426 756409850 793115692 831259685 682801712 161563535 260220350 946950276 345899020 464577940 333789498 212173969 755139444 304859946 111707966 816545030 142926950 903169005 944409101 295752466 240930786 267515132 540930596 744911110 300852563 625416224 179089736 140658575 614612347 344247545 819399901 504035842 867347889 760559804 286532485 170753802 561480658 283047924 306204348 699040983 722783109 207705776 444151503 231955792 677808475 717189496 650155125 356352215 444245852 121572374 856657750 830486299 830319363 266734676 206415001 937607309 695448515 786564031 856931237 422656040 972862881 134947097 379770426 135816969 201857673 702244320 525356517 178570730 664018107 815841223 881634785 176052417 160383709 509543799 239087321 346789567 409435978 301302393 936527259 308839637 944300519 182829758 469892251 576124401 856601337 699747731 333279292 661982228 994109024 100773674 933362422 434653256 449147633 696402813 212521773 107593963 574274872 640171161 526783894 986919255 589961070 757647513 369027419 871325882 768125573 777033320 413188857 534885861 316952778 234320064 885652461 537492504 967551761 906054047 860870833 918022748 713749283 424869023 786414466 454473997 486959526 707062995 226899844 376990139 976001474 892500279 543624994 914778106 162370103 132616268 956415674 269361844 376142062 588523781 145973905 273051260 699726299 388118040 631878935 733591315 729616978 206414943 631506673 324372108 569945729 394881206 552598959 732399757 408329507 231992137 745473114 805390628 984388947 810020951 307479209 956719954 320712609 879945005 793815638 107041127 979859174 237325449 657586624 202569541 525956781 891985382 423205759 361974413 524060504 403158241 601345746 375498287 217410776 316647518 443363066 327357190 684105396 406766982 549279346 330477675 729729422 279282158 567034035 230390952 868371568 463765372 391665588 289256394 677000966 452609990 930461158 227089913 443389576 468651740 305383175 784137411 456746287 217073930 696706294 944280634 252506009 554410287 877034627 727361901 255738740 661966827 389865366 155534443 574013607 909482823 377173311 594512813 230098975 863492418 166268982 636780480 706656620 251047812 959770878 655704390 598734637 667905680 861189050 641529028 519199141 220242952 691780867 438907577 444621703 807249995 129965908 740439178 465716178 192741832 876221862 460335582 785173679 702402352 931493603 960188932 106570661 974849892 921828984 899428413 496856223 265619485 308200459 369379901 919160849 401337196 370468618 979693035 175783900 494580848 355208593 693630480 652872721 462889602 710684277 332200861 830759007 120996757 858421953 747080421 361446347 313443362 784128776 966379588 852892732 139272867 734659741 995024413 639649596 234409271 684112833 947741816 553962147 121946151 888642231 612121966 746891155 621875776 691807018 786186303 749885028 252289323 784511569 418649230 996695727 968038178 580294283 477242881 507311112 241684937 412801416 961141409 762298395 978982406 377009848 485857188 753494966 152837114 395949073 416116108 644806574 495287659 467415569 910879278 489481250 377860473 418046729 728537877 145778896 265363626 253053585 982245617 564881862 524888147 757637101 132270806 233552382 423015390 427322266 315821750 206226861 946225350 282473397 420087645 322936093 193285432 784452323 801534170 860299989 263026825 206238166 115764924 783269906 495418675 196077029 221563269 799872560 100407612 566767716 907445985 884695717 671905755 958708666 751141578 191928812 360845693 274867428 173468040 286426621 175497999 403975259 723059156 815808248 213453928 672917680 639954221 225009755 539141305 764792262 788960881 420843735 992709842 327641025 958881738 643820621 591589992 547958512 643744156 493489747 345206162 757493203 202335122 579998409 145559449 559278354 815219274 248710458 907496384 276265157 602188377 928781603 363108958 774071512 764384415 804032137 705504729 745393570 114480202 992059315 216527977 605020803 955838168 821504682 459445118 338976103 889300393 476518964 196013710 842222521 304522930 170173152 340006283 686824462 306523312 929599430 527303364 507927383 986240150 685485935 280426837 689558122 941107543 977759921 756684677 636260908 237158527 312222136 782430214 709709485 682619773 855068441 592359554 815128489 403290562 846944945 434816192 812784523 815009176 791426372 944592052 383173071 459875911 246083295 258540101 968484940 201403962 136620618 504158808 155312510 929449875 320232390 127200597 657220084 316333039 940617811 329029773 765572384 527199344 627594336 355279364 806531143 459873736 346787900 675244511 872302324 358198661 185447058 254837129 837113444 899016279 311736562 352892332 815084669 222647836 907303630 233926698 985544403 434735925 455906814 759273478 660115309 138634869 608765523 902126394 444820155 384409089 190449551 839648569 224568075 917931171 181612491 158832281 752855929 463538130 828131066 400156943 499723088 136473165 542611806 810307967 439829515 284815520 868191041 348734806 338501390 487189164 210613578 265894734 808015419 712327338 690138350 689206802 760191904 883612143 422145556 824600761 889436888 712555568 129720640 953522145 619262631 644155422 220954366 412088687 383233682 931592629 511213626 777959181 732794593 551326780 484301635 443602431 960003096 717098657 264276458 847195410 267820372 894578976 560774936 525601923 470689936 195630789 297186063 145849616 228849036 938367424 729994544 502723487 478914513 752968171 419073807 376992653 763403591 895718625 260500482 299865383 281246007 863496178 263994246 485931471 765466541 954416567 917764560 307247740 427276723 757981408 546956472 987400585 453349839 856912878 259353791 370268043 670156039 754744884 383945597 706414284 643338778 152129149 213103871 181125922 247195427 960663999 191261331 445895233 406051178 826814420 269847480 149585439 474706449 370097372 953517175 119572784 689676228 159286030 488457469 852226298 177817488 616201800 192825660 814940414 562953069 661585021 917684790 432070566 768246965 257845350 215970608 915004965 235276157 727206945 307692451 791750822 974909826 240617326 347753952 365371958 907126653 970443215 980930432 754761337 373275578 617085116 528044377 510671727 991693715 225523661 282503421 452052760 374772892 699777706 662540705 566335509 313445603 586336302 183184535 338636098 236729916 305535670 252017623 845995635 541658063 712474639 995882542 844320009 771888250 704010124 621520376 587489446 356074378 875632243 464820180 711450435 862458606 793549935 666910248 313233238 658989589 254663791 705662311 482113384 681583868 101013878 117996281 438630214 969615534 757416286 409676494 110798871 618115732 487803740 104832062 195201213 547969976 804892383 633280418 836403656 644002165 853351305 382975370 106107825 381114614 287392495 530482796 117677626 227324905 591866159 562626314 204073697 708355785 210022986 115258182 761218910 551418664 360050634 607778212 886679425 211298560 861078597 696147508 106354368 449391134 163639446 164901446 677381478 498117470 789486607 251473837 287702424 559475310 998016687 408895046 149623906 805135393 741299421 389133819 520405121 272494895 555296671 424992671 983119512 736210988 968409595 959614462 949971664 827650259 951772245 780032893 958615895 142114299 168891555 235317837 627955286 240681041 119193889 923158450 473220872 208439761 623019497 840667734 536498521 206385092 914930930 303535135 551402840 933611915 644652417 906877607 257217620 665962956 506345445 639618538 939876325 924212943 317451621 559205286 228273644 170098592 390819844 170298122 545464996 431727200 274746527 507075865 176104859 223041295 450151472 657980617 271023740 327242069 738013754 319607743 972457940 537219090 281583299 710562461 290991636 620591279 776814475 788466175 624526002 688931175 423034023 884000466 935498137 405487698 693410707 674008799 991038603 857409344 814292845 123612221 580557342 487353034 260080821 950310328 695036297 927847209 568636818 116429190 457885445 365531297 375923434 172849460 279578451 116383079 889414388 424834028 186261054 546519031 912634190 725632079 306908883 510654236 813795615 355397750 569283938 544629487 887372860 658292381 216837259 800575721 295624700 870001257 383761434 748724588 634438845 212153703 327706960 480329560 291445296 407384609 150496456 447586051 518699934 611065443 185991330 334489234 527607847 910186938 541930023 118726617 927091878 565399721 985650036 766612682 689821933 466053576 126244104 266323327 207499745 905834256 315837840 921633592 786573753 798916092 858141768 475145171 381667241 991896384 980982908 799919701 341567832 273922463 106893198 781604587 717002182 536133035 707735075 546524967 463903179 410391738 838675669 590345326 199693820 371936967 877696477 242974334 644640599 563660029 905990389 234241828 924001193 591988277 836057936 457844090 125340066 354024725 223300338 679612910 640011477 141382873 803141586 153074989 788273044 860082901 577043575 133581641 727100108 435567260 311753896 380005345 790780821 442604528 649837469 609640935 406298450 230921148 334579352 790822238 776484294 699038020 806356999 274186199 527456838 388260392 486967213 124187554 951015040 201513567 546636968 848725535 228529543 226401776 864980236 121049964 849834608 914268556 609914507 983961321 977489769 848434381 801080798 451010260 674177323 524521504 872789798 408282502 918128483 914522015 264273059 714545724 334495937 848603146 722820569 202207072 666477729 795034248 956907765 890758575 192293635 167895962 623509715 468740103 465172024 579786759 936492854 273301504 137919873 346674774 359866139 130983944 524824587 735347474 584448175 136658982 148418136 613574325 326241479 701452997 740515495 297357688 574307436 168592546 127901065 844017503 655006595 464844486 486623369 568590751 872374675 518893827 168405265 593564737 134861298 474947809 407190857 553090525 285454403 724745688 557562715 748988226 113500824 994634172 512321795 827281013 352231194 696628930 175823926 432604768 304116855 788561191 104878505 844362967 235512570 206324508 938186614 171016541 975087426 954805610 320391261 398401819 952666174 571141055 419612210 483420662 369642032 962563524 343230132 200707756 131212433 826638767 255759126 710729731 842975719 282381193 170306441 311113467 601767590 642875712 171113383 517501491 607734892 949045814 945075196 767832673 890206806 411649158 723168524 925426975 663381877 775642039 254052011 899647216 445480563 593507014 265977475 838293315 415010186 993882704 401537748 747849764 181254760 361063840 980452167 179663436 106862494 326077629 384710686 624185148 895547893 879381371 363287727 553388994 594630113 869453544 809583375 377306478 449313779 193618684 315596921 982900445 975927511 818268911 201715017 142836238 910282730 447558130 120387405 163728471 856246400 420815744 976182107 573464882 494340272 531362929 877176458 350598419 941443421 644568375 797967207 526222587 842720750 822273570 689111030 702482950 715038180 579576894 314168570 694349731 353255196 281253262 897054914 866997706 264255881 781450895 809016555 590892700 826736664 705388891 254630438 904917165 734380106 476497872 265908916 900344799 242202724 595405427 276659984 476950671 525893219 260109258 898465054 704410690 739807342 538748112 885917208 255404727 155612050 663608354 814906884 131908303 725630222 359981012 717420829 187102014 432450504 670452989 740759067 401235386 667280329 927465781 155158564 274034513 128727627 734676473 397603364 634607302 790534185 242124603 192294318 840239590 393778036 346980826 657497746 897268214 164272968 739746396 212631573 842736035 186045047 911026999 686465014 962592478 922086615 815685361 892450657 286721884 217386672 108564158 886500608 353246512 434175045 526673173 323192482 859655833 823758297 144337172 575239776 604649803 982022224 247195080 362369988 217359163 667592158 419988947 332237856 986478538 376836534 314571450 836818884 943694088 252011030 896353819 934281719 980932819 530596548 329680774 248054435 608945701 138101683 563666196 686975901 745247417 558446452 273975844 658024288 341652371 935447028 256140393 943300681 264577394 303759754 188727940 768126418 950900189 431475212 597450483 284510498 446377570 193331901 189816337 493212043 857075184 736059864 981191144 955748864 984483996 949321438 865399476 811266591 682727948 997645396 491577626 943193967 787087455 344344291 586525339 866084979 492443355 307610451 499686791 755031575 852560972 198577120 135522141 499948290 924208678 896017194 650535291 645407603 365675995 280083311 765981036 272761003 280737197 926596611 639721244 901240070 279518300 560898491 699421862 201019257 517060186 244139889 155589014 471099211 314972332 974042310 878688924 280579174 858618991 582450808 249489249 403762387 865172109 896774086 805022143 974689250 267286436 412439892 812372006 118514384 184082626 838110349 457373067 600942905 413188291 444274264 894871648 660904194 945030489 581688676 799200867 208320968 494945007 630367503 875665295 296773483 333277022 456404514 414854931 747389925 449372577 379039432 457670166 868276885 971549870 672441519 491104754 423201661 619129031 421101235 609160554 980578306 552808416 915979171 273292537 360837373 162638927 667158470 426337930 193496881 477589904 242620507 359197152 102100673 823375699 914365927 923166941 674244184 908417542 315384393 609685733 391210365 706855532 796811417 392392224 433619825 933102115 531755742 252582417 634348381 966953970 589737196 955759209 506867225 109594749 501794694 516468528 657164265 849217320 840819572 135842218 739163308 608050093 370213656 548335158 670981486 497939676 681032767 746745485 662080015 123106965 893424738 998022062 426961475 987675432 629726953 773310196 543499929 469201965 599945361 791865528 627084986 953428781 126665109 797588752 239641262 784539268 201072775 808812281 178517564 310989583 926382678 384626002 917247757 981701946 796139088 215493141 806338843 334147209 593873447 139246114 867565193 151199434 739130621 334310260 599657116 902229067 455394100 707624027 870697883 470753330 177011675 934503363 980476488 890386248 146189981 241520552 294106347 865031309 770672952 308881362 372194780 798065996 711445443 367571495 731289139 602901368 547105532 643992798 343248529 762203673 345698958 365881389 356245964 357689441 122635999 177255329 859345648 252009168 565153975 462383622 653545457 306498440 166958027 666759006 153074792 188937841 349233865 517562161 542809929 787682163 485025810 233703204 822354694 188659134 115389284 963137546 334732956 126014082 462583682 537684693 199353524 101453952 107619251 717138775 371290675 689479691 339577385 752816654 897466786 914680727 987706251 820323361 358645778 487736190 993176489 559341591 432340015 398701901 863129734 893444701 747583798 809773121 327803205 816572996 840770609 249064240 666270759 728437559 214970258 547338521 683589596 326967526 233287836 743886723 677462784 812616540 298844976 569521952 668722953 894669744 428028481 553846502 234641874 239723782 816903559 415439722 973420477 161166748 934236503 965081459 926180500 879324655 651250697 639213835 277550237 145177907 667397126 671050747 245291386 168480520 441573803 465504974 237735465 477382088 276132953 799485662 803157483 530247647 315309953 229847435 251885742 240152724 360395299 495637310 848129043 548651043 168015884 968935759 963907789 133226323 307287711 589825809 780157661 564502936 937108369 630804513 227972324 718569264 966604991 853974332 101196174 908839890 777878234 695430686 807155952 382433750 794148156 480936289 781549436 477184885 996888644 735177666 780645955 918023310 261858987 951619434 139511848 731561530 526448795 739027123 505576877 748861426 761642253 152630489 837384510 820924121 166379438 588653046 516682859 987287612 654490804 226244592 385503757 871828688 278063429 670183219 866640562 501656444 697341619 679146004 911253877 368248773 855596189 976796260 348722920 933514151 118360588 711685598 553995742 622338762 788221934 797366963 358850692 933490593 715014456 341851991 322081959 648436410 868717436 684945724 755905107 609886001 206701816 401824666 979724850 183671121 826652749 265449866 213199664 377872463 754905489 324366766 487167398 324353926 786412998 138422314 574752087 568532908 151794061 724699856 746852831 519614360 740699604 110553501 802320385 343172605 212788058 402473842 853752449 751547927 545530785 773156017 413924621 197361537 196636780 607557336 859209242 670082275 741355312 420329291 115464850 181015381 733257011 200873740 359177368 613727146 992880084 259437041 578717463 604324244 297351049 656885839 974096597 891449753 607458390 647110907 577125681 949279629 886776711 820701218 760607702 829254821 749220855 200679511 674884336 333623964 446663756 473413713 166484369 859133256 513013143 546353414 162936889 259138918 186659460 564972296 600684882 100732929 271382544 439915759 195389419 730909589 962288726 170193451 239217184 479389172 239749245 870250652 973993771 454666678 220694097 529664501 222242069 478961964 967954499 273572340 182630332 110588037 862812794 681430076 727906563 983864444 861525054 727322491 530179438 191955871 128214033 986142246 898712981 736315584 750739958 331018923 901533114 762061401 123854286 101167355 531905012 860502005 189660014 476251191 137385446 635328570 413121428 939757163 107497603 184310204 303699548 339339263 151659747 323129166 963961538 454476654 657168435 988182498 282727856 474070268 257465810 723994342 461191351 765771083 587550046 266491007 419506051 344984764 159193147 720682454 283746329 662199014 911639041 369288431 442387560 391148963 371839105 202689489 525978076 890082593 989219337 221474737 882609794 714442287 949748309 304902014 504084806 362555116 868397328 900479912 565637966 558424962 994392962 484010770 224410907 758893612 578393458 742991697 504340867 843663590 882858880 181321322 982340021 719668947 819245988 551934555 777655995 250105972 772904445 107653298 842805758 438081421 206557663 528762895 309376828 494629976 266635719 794202963 423472396 966577748 806926583 486350925 751676222 467525515 417381234 525933390 684037136 200335584 158867092 216211504 456599870 421722859 942415358 372927990 810132296 518782926 877964406 896005262 982262240 907719019 465262110 243603668 931611063 864858245 362247813 961715074 288506173 313091212 159046552 848554802 369176791 468102581 787906930 606763549 497275932 344816137 221337235 926941870 166615253 484567640 259894787 193522718 646530471 245957463 902767410 860627431 569639083 692736202 974358753 555229331 740210601 415485915 320083788 693470571 387225784 867940294 718661295 774015122 347270310 943750949 325234070 896950974 900011370 625571351 790224781 801797456 149785206 875384542 882896856 889628992 663587767 247280791 493201324 344287081 989119229 449009110 264020376 689463118 671293487 813915811 938050080 528416320 982388658 329737041 236544875 396298890 136788804 600253732 453199679 448907627 932924330 794724990 249552224 361751163 660878011 905624016 985497096 190979037 505391696 836196177 129202796 550971444 794598626 413841565 516606501 941073892 335533860 203079842 332503020 601471624 167524449 865081318 712215282 820296358 438019555 767391332 368146925 745467729 409647650 766811968 274925769 574626706 543823025 454255098 116956368 769937635 685863947 199309277 123027319 809446722 770752526 902012187 619000230 766638850 155025917 974687080 656455414 818550925 784975383 999379021 821035990 760874693 489265993 324693016 732492059 716130555 548660038 407330588 199547002 289384915 933124359 171856009 950487367 957683303 613439769 521770420 182389408 639332972 471366808 122999957 124297524 799700511 942152935 328574414 472255721 552538500 343608170 953506753 958540649 944172551 567257260 759443483 696271078 750097780 768069112 450813121 316129102 421693727 733171481 718237420 312792403 487066955 980761675 139503760 225332260 450998747 563992128 629762112 954637364 607232732 868399822 128844574 277263532 522953156 107469934 813955219 123711662 333823362 641797312 402041987 957450951 641015966 776312908 815310764 479785418 623777972 950102498 645576892 417584248 538611041 979685730 222362903 904483740 558434390 500186530 171404686 870311205 773327838 823788343 822139999 430835959 594214161 996704764 319578291 687409407 853634216 111812217 964266667 638232797 148076495 580920412 686120515 890640438 607316502 302852021 643347775 291114265 777994969 452013487 481356349 637877556 245428134 381482940 636184456 904714428 811596858 481935966 825126592 773700239 847906701 293994843 816817760 995074916 220325744 179419169 673346379 149955520 371713459 548215841 991065033 910004430 375767626 524187668 380805488 583701127 676112211 888348314 690544125 971353708 532895861 624152812 193049969 859232899 212106359 214208701 932970943 531463585 901312512 511757920 726067014 505279470 862586437 780354619 223605026 505232476 826256571 591215689 615875817 943929230 687850067 305431489 696087766 747710129 659261917 259466580 792861342 953164166 406484278 233258531 381974696 575417470 447768876 904057864 413208750 409064607 258207555 684948637 807877857 704053917 440349227 316928631 293135227 792531033 884797340 989801591 972289839 682240511 300417021 627472022 499555484 320673627 196557433 680330387 934532090 447363838 218527814 263913621 191203897 609248170 968814043 120464541 854880193 594813905 619869342 455716456 791867129 377242743 141876348 240090670 791288405 800299132 805239249 561192784 888270285 339251945 272081687 314130084 186716260 921356357 259397574 749755249 604700942 576584829 354057140 857888660 985796910 751498311 210157585 345872937 478590258 228015314 707683891 914529999 757167368 102330218 853373341 812158946 390958491 621865938 787280287 409716323 856548042 623088056 950394915 533343431 397931710 483622081 204910599 323854680 945063947 915553817 565710314 672368089 731355071 995877449 475258236 492194441 926898897 743330614 466659311 936672414 494904512 693655105 272500718 857224371 836921425 223933992 845483223 575186563 261506736 897794639 427571529 978609999 901906749 357459994 234343542 697970822 270174438 281139181 275883441 983278508 609734438 625707604 537340913 518724366 882799704 465584407 874381396 237585043 246607403 951693826 188051361 729069062 426077436 807493443 622659337 482703450 138628050 686211934 168478535 685504758 720565968 176795841 609818459 193143128 593133122 420189356 469897833 670047274 898517189 323905043 272145534 938594145 338783547 293470029 368244665 877250130 403099531 954753931 984446720 887768380 311073329 927349910 133859162 467842520 639946142 742996848 393045503 165738162 762040674 635566615 488018642 493735172 942407130 383010408 610426148 374069651 604369263 301358622 629533695 346370883 985006675 246069058 292128779 742989897 474720258 703767717 265340202 276786885 666749505 293394669 556810505 923682277 786549552 483976090 501889735 233606884 474217216 232372492 186002557 100840383 168817319 336431208 767702171 542992097 250206416 844496608 736237822 241639636 599526635 879018791 519898463 954537964 378243219 934950345 205084027 309449684 405163124 971689017 566350494 341666989 651896607 921825846 863554058 145205501 773576358 890401580 564896095 555114433 901796384 792479232 684506507 603196522 918978837 154788375 479582406 230178422 538952686 147725198 372052930 359039903 141320676 576686186 657718703 270014866 475326223 554333920 202324424 420411784 375699657 469679702 254288058 574527273 927709054 774682512 222256072 353519809 687860812 928970271 611268829 668253308 995866299 873821006 648815985 235088562 828698564 528843769 936644797 621512861 460201809 171270329 947702212 431518379 407967690 345052144 298664652 989170894 262534802 416811072 927287761 773956626 619897575 731529367 904765974 883843213 336460923 704276431 620091668 203777522 824309037 276985813 384455009 991121440 503003435 733753091 319554477 221199542 919104169 228207108 849065619 964601884 529060223 419724898 181636123 177365947 743306844 470255799 603918843 490918266 592037661 740824590 431463130 244618343 251207627 573708676 844297566 811310697 623163886 418481234 143610047 775818773 798370152 627467666 244983155 205532739 185747354 631595604 854272549 582345499 161346872 335734163 625667509 266360292 927590220 626845796 121633802 806461077 670742541 305194613 399963027 566728842 910651572 802429404 679639131 442392498 763981157 598629537 978579658 286544587 234329345 459901983 607140006 966751353 364325276 356601106 544706857 379386252 566247580 667713867 281306054 878322171 717992896 654003057 654615436 619455051 547049895 279753247 456293885 546683522 626366942 325469239 674716307 530322992 211315648 255906301 388731550 283962461 876049405 100058497 695360399 236984680 119305273 859684185 550747319 405859266 797718866 561969098 350147449 207461792 356866089 287594253 584808718 250976125 795879906 122834104 562232876 655788550 824194340 528211833 276600533 610115346 661634357 608787565 842327339 879883414 328100768 455353749 728824583 752532854 205403259 317529731 319133241 216605000 575158458 417786418 146930026 695652934 975664240 987362947 896534740 624826743 599140878 286798662 410516820 497597118 156486486 860268847 579325900 255466625 935144722 176355386 226572860 319005731 927259744 445919968 207492195 823191533 264044823 279508589 962724749 538410783 855788748 987124872 965911249 490306815 515814236 863822903 503259131 384892058 182160266 881970723 885958715 219813120 848645184 712662684 799252133 300093652 759449405 347515945 796169191 991418962 929311800 942743994 486962645 652190561 722013206 658086847 244241628 310049332 938168115 433556426 651308583 851544061 140205680 313738637 593614600 438567446 253791718 895450449 612888359 440657807 384090415 141012280 669328320 840013984 960071151 774731671 129916420 945680565 560589469 230394787 684638821 395727762 618204859 567913248 110356732 435478875 928946433 870728682 430788908 227192071 553542834 295285717 238819827 180753366 294520707 505934818 423616782 842182697 685644205 904331458 765259424 714763579 659047961 690540119 385610564 973063400 791116823 182890421 136272230 468775027 419750939 855434192 683743926 508078302 641230361 488426312 107629271 720546895 887072541 607586758 267852526 928709262 778434365 247543307 579074191 497308122 615238357 720293842 527840961 796254839 782934104 354056308 592027972 510445072 583778138 894424827 305805824 756185654 661580544 334913902 563932451 270581067 896072872 284135939 949400198 925088106 506352499 894024028 106628266 766461612 207811086 533927577 272793471 735263859 515573314 653481698 409588053 568792216 449851905 994744232 663924398 546087851 111422410 787078595 359916206 128191330 874723788 334373143 548503302 356526327 326602799 290274785 673944336 988526800 741556130 604259349 269332083 152587661 688465773 123808660 418147572 710787599 894339968 483896313 533238958 116464346 101848256 518761949 311110829 167784637 906374394 952997901 671653998 541509141 203115347 874818936 954999140 696003292 922210779 661581042 924305223 593521448 636586347 337114441 996325749 828946219 672651084 118472365 365174219 860808028 381323526 427600992 663968313 688340405 709193246 218489951 392257341 553230951 294255286 293211674 606889782 461664736 844038892 514996265 428987807 244048427 539676497 148938038 409306278 935006260 349644596 853866441 419185186 200999079 107683541 397072456 522758037 867959867 244420013 249877190 893101230 329627985 257927045 989665299 331562895 806976671 925810154 168834593 979949658 872118828 296378323 204787911 712962697 777855204 153359499 263317428 665966364 318489271 920266460 894079860 268807193 556757695 981023359 535125181 899376932 837581703 206153768 802771931 548854310 198905353 721021752 636797152 175299686 330549211 118147616 319536453 383208148 190308516 452318436 944458253 413695235 640635042 425310895 900294233 152171417 832032269 838345585 130459602 871510173 122572151 445780714 266424219 341723432 878083703 215581934 844906838 355950921 476229543 573107509 920025319 203006485 306053631 817676979 656953268 911112216 581282609 155727726 150930766 721480994 276002172 351684551 131301215 754557372 772091744 207868130 507683132 673333056 852658123 283742849 267526487 641456956 678065762 514131005 825489086 123497901 259474216 291097982 963252809 422146199 643359298 567776373 644724325 443187636 962438661 543611640 954825050 434875560 457470845 942756101 263971900 942562892 989137509 493415068 658901437 152895388 255049036 932482475 108925620 642467665 732076459 891504298 407827046 258194731 170508069 132024437 643820323 817565549 682312842 830994830 773714892 601646295 898349486 221350347 849483058 114138561 489201789 961498047 387060968 930894840 281023743 590810468 773210564 890943865 786626772 517898181 989065721 765988535 134484509 938382127 752335914 376341338 556427015 265130276 127873148 989098208 971807256 512622544 997706579 182831266 229534565 140221455 379652482 427375312 314445362 764700818 170811907 948476606 131389225 902857070 115059192 100243961 607126166 630050487 531720441 721589802 424715684 875285172 442721387 235845143 134723501 948458985 969255514 436725748 154462917 445690553 513257540 584014506 940808501 425204365 539639227 183910594 214008406 610092846 892065290 515386265 749401418 306278286 820082843 697471504 202924528 283307929 825142446 331925399 936112937 120660172 736072748 330962833 125533858 125886610 865424760 900968104 146744406 337213178 113021341 292280758 571656529 498918876 297619293 199212504 449725078 168110866 706503059 762945441 109971102 607934714 185049140 404252563 885675728 792409336 642086435 439886559 231384100 228861530 738515069 547162091 445843156 258406407 660323640 779752699 159344629 378327587 360725437 145547156 102261746 459691375 406394448 615468990 851491250 514803527 554034720 549224773 783978904 178074287 824133843 479474590 815158831 652930158 799076225 650043749 946438885 783991787 849204467 976001003 926231860 582207898 981936513 407787027 125706813 398048148 465295242 723071392 244745036 708872188 322724017 847977854 873097749 767103377 395598848 494138781 351929369 575654116 174693380 429971195 184455987 808921510 569865233 924467321 588753494 111523320 870937952 123077626 405500042 738125053 616398479 807357981 399955718 369343244 978650626 168322367 585315456 726321008 542179581 107195257 500369999 522087241 165229383 131256408 187904772 157892108 559345289 455503654 830910850 163479361 128639432 427961557 423385998 227806117 253402681 360543315 602345961 296151406 104451258 337398720 967261159 818931195 624721565 831136320 737881648 132223508 855014354 476581815 567651734 881893132 572218762 605994910 339233869 898084858 638769403 354138010 137295827 482459071 486930561 835462753 145722208 282310611 625047459 479473843 355460579 973708879 771206298 550001336 218592916 227697564 701127702 994448812 265474558 472573174 673306401 524581822 925069094 562440648 843969613 808650751 930119352 148453189 959894086 703305430 874314505 366704915 893874121 243679034 816556268 707431100 737660415 372832950 503715223 855863609 597052578 747182896 709636757 179659076 311802065 752399780 558004459 883446930 103438033 685380996 751261741 153201469 108981468 601395551 840185524 716777209 485813552 533156577 143420206 855737977 107676916 949936016 804408793 144342772 355447096 422450041 236632744 495571675 872030478 406864691 969363556 957649235 285883346 773202938 569725281 823070926 224536591 994049583 388868924 397146152 525032393 567680987 405866003 443715597 830848700 217498518 409943067 133129461 595516257 574067424 960260738 260177299 869376066 300673741 252989455 237224946 651922702 367067252 892357847 420823658 984783063 288949906 179680435 467924714 387085213 775398169 514941728 172402220 820205021 737676717 621204883 669352792 450611871 625640120 499201227 168513962 840479424 736282831 300218545 658405580 156279598 461066927 161801629 583528223 555156972 241823182 552159225 717295937 413697943 330722243 464576193 181171368 347356067 433640919 669549379 376263135 789009652 915972313 646337601 982058893 912641390 905794991 317166193 390380197 382826216 278375458 473511318 340621479 918950778 768502275 291823504 272612837 782925292 898910166 457009307 555913315 695303905 175505414 925698955 228248413 951890603 838144942 554243176 677628640 109917802 508603506 213507985 757532417 403014268 166757229 598635081 484420095 787248925 148467183 759857890 950996303 421188836 913138407 386471468 108565317 135155978 913562470 437121521 178395476 734005193 446470165 333412117 804854038 735577992 660394399 184988568 281989778 935437676 713614918 755081036 346128659 609313162 559369195 563799093 246923603 236177321 894103154 233707361 962234245 564245761 763923331 832719265 996390487 414079274 445285924 688989155 775961299 724464744 933437864 949793294 494853592 163222582 619466066 138976010 409953797 864171067 884748005 676853649 735579161 393913984 686716032 613666876 142647801 395912595 931762769 895707382 340367145 132289481 109418577 231833670 584835418 668397801 618649800 163902435 837698092 851132322 484163070 645043226 305750284 995032712 146289821 152868426 359524100 157154891 841968401 694877247 692280739 376418555 857543547 260081783 881835545 648089052 134719619 464858924 694123238 572203424 721091876 190178680 843571923 498825077 572289963 289109244 883670743 281750117 892444883 849846746 393524179 333891427 339194323 597894953 955708425 239412636 905066927 900687627 717893148 514116728 674318237 282438216 503176693 466075472 204770984 267164717 108898449 672456622 752284456 220600897 404156496 741671008 900432967 688396256 938315629 658824998 814655527 162957082 411724111 773824380 565933933 547329392 797161581 200771743 151263396 875178384 967136532 308711326 545002968 590502972 342852893 373019741 262299394 567866924 849694654 572652986 629546490 237099715 971431455 276944332 341888829 197937873 303482175 945488699 688749178 971368268 235413440 348397925 799733638 630756152 130311548 220323855 102854773 717996388 935836454 181789686 673192123 516329637 358906097 831189775 425785720 804598372 986607270 860836831 151915692 193122450 745801081 393174650 147187414 275929159 333083901 484191967 620383491 314055924 596382069 856765447 686586667 355968282 420428674 126340712 882251292 287304246 584805614 875493862 703823774 997527837 776954103 721247793 382191996 480054932 897597224 565463539 939474876 985835148 918358239 587712961 529223977 938637918 483556647 255502238 508096038 715531171 616460517 318195201 378401748 274762549 733662401 183486692 108514637 958598872 344248094 830929051 889881024 469320289 214638081 915640913 217714440 184737037 816207403 766490681 470381036 780622741 927123001 882671352 397660417 163094978 689353459 178981837 483958558 534666183 237023314 542911911 380506610 268677616 724626561 817261699 841922808 553602455 523013260 999991787 256428321 936598576 717639767 396948248 690780286 864175180 545325032 833624854 354336098 896363874 748767586 158115459 982049475 911632508 942797080 129391513 875058411 725300958 765190432 915166832 685795758 386872482 384221057 869321409 510598904 502618078 696038091 517272751 747228889 796261846 664756023 523925610 824824612 292992888 102931429 194631246 492881000 399891362 903152840 842842574 281440590 421770674 354245650 717901968 858433353 521088565 350804906 810536741 428068189 524352018 357115106 963648263 416202703 886477572 949816713 171669113 871119361 227842292 297851714 376982987 778031259 832634966 707946061 395764892 988898395 157436655 362547730 304426882 566860792 214715066 637372082 354997999 114193641 795865590 296976331 486318415 635444769 913037175 152309272 174402245 975498460 484068172 236096547 753167047 363308180 128439971 783643056 754595591 260653253 661948107 643248208 587271278 191203323 358343040 912109433 667836095 493096036 449500839 264961005 978823258 279558441 803301404 250430545 891119360 417186832 218918896 380711201 793452132 704369324 173039585 804124114 823478640 974961465 292987464 366880059 964027750 620423827 246135917 482054254 563041219 303398636 255633728 512937664 356905011 700026764 343669475 580460239 449715838 489987700 237483223 889037199 789197939 675059422 114626124 717090654 926755249 534619522 895836799 315951869 850295614 715355317 512825260 688825000 765374124 169096358 424202356 288312794 800601387 656854513 379841251 175407300 864811716 623624373 974795159 412539509 371015014 150700608 869013548 267757416 801455771 136231220 504449698 860631791 823319178 999947301 246596440 969618003 772346747 432223095 986523385 610697766 318574208 562548499 107831203 880904526 632490247 434422140 740599776 696244062 881977371 607933503 882318190 787777771 510931646 435029264 119906339 703704169 194712474 949778684 615219304 656161447 749989299 525585987 973717365 684853776 281796967 665460997 119525473 109587883 535899290 794492117 757974365 448670487 741944430 783374279 434444795 488166461 687300319 688779261 364997157 387419416 257105658 967488197 843582234 637583163 303361735 523264637 269334821 724263273 422224676 791454663 814853608 310009550 567984562 448822139 458173673 979907069 944562287 792051291 506044101 485762921 351026856 277122885 166836132 600164983 364668832 875770099 683482644 416301744 239270652 789029748 380000382 404352863 666732352 684110560 696838326 507014673 281718480 669840839 676312877 931040761 517741736 445464079 110814262 519852122 847611811 596565619 189689172 143480386 219646092 830550181 149520380 456576083 516738479 994107112 347077861 322360959 439928966 131970361 380057098 555327098 404772540 632739862 131090590 756058257 925214243 979235303 206017955 962065133 666653641 178042838 807946697 494767481 302535815 316145021 391307373 276255691 725516489 234278067 640895417 175796998 917445787 742682585 350955205 497101510 692908501 317465701 132562327 878382748 306237743 130225860 277650502 699493395 674402642 858535255 189673767 895395949 725470591 547994125 705841212 647096898 762398210 242579988 814646279 466952773 266337833 108629916 900783405 787473260 492641290 879489439 888723613 911779221 655312903 261017472 621904460 565843989 113375019 999643457 436553947 638713781 875272150 328576952 746959726 931069240 415534311 585013434 819314574 377410827 810006031 401354369 425031737 202968425 471048720 324348821 211773974 868940634 996719208 313895503 519105857 719498200 971150353 743128329 908641301 110071767 558884470 957512785 450041285 374479978 308098205 519739793 590113961 247928518 532246599 854671621 207953899 460030775 952457924 482005733 912796667 839433486 106407996 933645671 407351014 705416643 270773398 902983828 726288516 764639735 421867369 224555456 327120889 504871732 101742793 720273324 677726433 622812886 834949922 634012222 786580958 224800231 538767268 272952670 647697229 364888694 764079372 405397086 842779425 554664168 410718393 212244296 732466754 941565621 246041687 680200994 573971924 874221172 717655369 653621109 917829510 323590316 620562909 571861471 806405719 796255557 746943004 772570720 627439831 215203362 539454865 368381134 766476717 234636336 454286383 956344748 161502613 445775929 272962737 270724275 498347684 825923048 948884640 381667485 956534606 299109135 155455678 651555685 172054259 605827759 311832537 177694301 761416153 242918230 278950150 819364205 720285770 704709352 319124746 848079064 671513407 631070675 821651626 520827670 535801541 620923450 209704129 700549836 140949668 293150836 873507419 520618984 163562204 860309188 399755757 848136103 171745044 479613891 330786080 865099245 494478926 387894607 871145395 733201286 260467152 841423809 886519229 505772788 296583590 777700717 137304515 828009014 420739141 341908016 823125002 373902894 499862038 807873682 927557856 721413158 641024079 361494149 770258022 313339331 512993760 783273383 776518045 181454804 919328559 853957748 341605248 494399928 527597737 569899281 809997346 282975932 743771850 164060095 450237323 720763131 699296818 705983858 336891533 385726486 100342996 309683931 595576704 107001660 278021951 767299983 619834979 394337151 866322502 337287807 988963402 719953564 607791173 159998521 926771106 842995145 706224738 762372339 332867171 573736758 763656711 295160853 750985989 422953953 694810823 274918650 578187119 598990242 633855613 767860468 743580078 122224542 627266739 975416774 809567130 246400721 522822361 239609465 859831654 867938253 548506856 935216902 897108275 961353866 222257451 997482740 272433944 717798929 140618066 826741341 321345792 890817141 487704462 250113412 932102962 549472414 596022232 295734183 391320354 603306926 283122769 765151604 463694890 715088549 284426176 929017904 347485658 361192482 665466005 258302933 771540142 473272264 752726851 392245817 512298232 635806019 388951895 831426926 339710588 110125103 130341423 375915684 295302197 818850110 810495748 416109645 274927577 431350072 641821750 866772749 874145520 216021588 981252344 229851915 759286054 725673167 858135578 218723217 582024111 185682386 662478704 611579271 749556369 771240196 337598467 540136537 754988457 357964067 264048002 574437976 383072326 118192469 669564690 636777923 317857011 491034464 641504282 415939830 244154610 356607153 802650336 633008439 297749374 656996495 171399984 594227420 415965881 346066669 494136430 922515730 598240235 202602238 408619749 482758822 969845321 644337821 844150675 635202634 603365675 242605495 123211560 933085122 623010567 212250759 138023975 292031892 241029477 694227073 702798512 607897938 897935288 815436839 285289391 551830486 201129792 841577973 636188546 753655254 188533780 691995527 716370926 812235294 892610892 636414396 627734642 231292382 411505330 383220124 431466092 259543930 599956768 439339414 575384274 520524824 890598798 253514660 998125043 495704386 537027906 345431865 349349669 745120560 958296214 654235942 360853855 435504964 863341811 878214432 996882647 690601342 198283157 815285990 779978863 480011583 886133188 671027819 626752873 521916606 803211321 439292255 333430603 565449723 648773242 905550097 245088262 463042788 177965883 505983955 733707967 651891373 822703585 359855702 200383348 418877026 291327220 639648111 864642793 221275248 534153984 294089974 516313053 399476669 412752175 469981125 689622237 959734455 369120931 110151498 375272685 655263845 958597331 830678576 293548295 160809085 393203489 390329175 470762157 346804754 308470468 321628486 547976288 127505158 228071031 396752220 370479212 510121113 197703688 403255333 612864512 604861369 958522373 273175638 650002343 154384804 915112598 763207329 256411786 920536163 971666417 439201815 722428535 629214665 185846770 858758926 736861257 535661448 170141073 132932130 385064748 492999703 532917538 494847644 413053324 250048373 727374002 741095926 192059712 370387803 588667416 169943278 295553088 737724862 766436842 669796737 657253348 443738821 252100281 742624755 690619146 858092900 119704848 717054776 643802429 236933746 521872389 289700362 445053616 377076917 484046838 436295663 566337314 139093372 360951054 576371690 193523755 556415814 773103022 332327070 922052484 394301555 933111296 891424317 855310005 901278683 401801017 960202835 662689637 342215793 603852909 563118189 219444789 641887418 660907985 549920151 217303481 232905706 631114886 297359529 184978325 168165630 635464754 488002703 430552074 558539609 171265578 123791599 707257912 694875422 590629872 168534255 253487918 896166588 405265288 407454146 161192905 342512370 346304991 784529474 365065765 890318703 804299252 756117496 109998498 523986382 341605632 317319100 551428309 437905069 410629683 473907580 661252679 166903391 802018098 767449359 271883380 617219739 250309805 727903485 702733765 369663137 282333640 479390623 361796494 571683494 958147200 171667069 118479212 766376575 418835253 343635099 451135693 278020366 985384470 279566346 433941069 377063292 295548965 623350293 419676371 752704153 156311609 463016528 473079983 609447498 663095151 661427805 365170475 621071982 401771950 722527878 747501935 298772564 239334185 357401366 286460004 296948561 451844055 360464690 404571403 832725935 775386413 959713718 228800856 387095535 614558353 146155267 962169890 106207698 787881252 807220014 311695710 970830264 800555606 896850274 983567231 445147895 793288477 212003800 789012876 234924180 963151604 678280219 832949417 977478105 494465379 278988302 683920977 979755560 929340562 772861919 191957396 247877887 816535700 815349714 871723222 469283219 910284264 990766187 251969167 859030066 118173575 318568758 655255189 947705431 921120756 895125062 999332624 315048867 211418436 923137228 296036026 477418435 368748175 526385198 706955898 875759551 187090167 224469407 816267477 928748212 416084127 306801726 557749722 420468149 100596078 277322160 803149844 890619634 713653278 471164246 632733154 751089212 545467286 262027735 984489213 405993220 722605482 447466944 923998887 974833917 609273488 327210539 321714282 969313861 289118102 348517595 869794626 320753495 306357803 873154123 918414920 592655717 407780098 555171011 104268230 565829453 128959059 576370199 764963229 248759130 349259561 879256831 410969016 614734314 348670366 243174946 638186320 840793150 259583971 822188253 130390400 815689469 510349721 952867531 865051385 200869991 868450865 119644401 443919048 569740613 745604087 748137034 299233972 896970774 711143666 170847370 136104815 342442439 615433341 807313699 490714242 642021798 676611617 525063240 469638284 788100834 342260695 794440746 450165589 823884433 794120384 387327342 936158202 226308866 567946010 737661892 902086745 650679512 795846451 433920338 752110528 352362833 124652031 460240363 464917895 590496005 125836676 813867778 361678348 970686279 478621177 706163619 411802794 445349653 678172056 820155145 122284254 755788463 139436939 569911106 426985503 726673551 568129304 780365953 842228053 946706842 313810696 145918291 647548157 254254232 222488487 656392836 770542837 777260195 606605472 603206793 692192375 561442252 904147804 535503129 534244726 388217838 287196536 832766855 938297972 765359181 664648744 883658451 490341247 314649721 151897957 840211208 653867376 848498473 772856720 304033349 377403462 637257066 251231467 956145324 528445813 901901252 467047597 214871156 958880978 588659909 544587033 892160360 464125971 479391186 472187460 618016520 609260488 157930659 516603628 518823413 894211906 302302467 511083466 950507904 706109190 303576773 275502211 490440046 363441865 248538574 249158541 797548208 314404734 931680901 869179314 874689613 750408316 148019493 944920799 460871061 520756072 510619857 772165634 236767084 308038931 934278951 595703743 364596233 911758963 559388807 518395531 572662945 615696229 815634052 314471004 917782681 362898484 939443167 190773412 706889970 461076998 508522097 143086007 430521397 446946426 142139634 299343719 122323034 850696978 661680647 763120553 537046621 440376789 797382389 159810479 249849013 911532201 617417889 760189954 519709412 355353579 807577496 850943450 869901277 852666367 728611411 385656502 535862011 353305612 546541245 522670143 819549430 233958414 658877127 332852273 501739095 424427336 857966502 267084969 683197834 926181518 601422967 250240394 809518026 362830292 270683753 519214131 118167162 570112251 151240491 172378394 723357188 447597490 354851251 686758827 524844712 570451313 666320581 544184347 349001837 732078442 996730880 225921325 805921492 689137837 273636153 614264671 358578512 857679690 405015651 403147531 831346127 709616542 603815700 389050120 228691295 487256023 780522715 660572220 420374748 160203910 821097100 281435280 737286799 175237818 874006687 190120988 138928667 315740076 633112251 866381054 884911038 790546013 129260346 656385784 635006489 928586910 902722823 771882608 993512814 523435440 485104723 450797886 743580325 146841267 778832608 545258856 711563775 789786005 536711038 164709416 448576104 451474170 189452842 231230517 153503440 879351598 911383469 648836573 977182118 894647291 924360776 534460882 526726896 318281281 407493092 705711229 178154091 502693193 487436225 216400934 497652739 544463016 584587842 528690716 359741697 866443901 189077207 111278732 861079616 166740936 362231714 872556251 563886560 131796111 148265059 470641475 914623949 723977370 392068786 259554908 242556009 667276531 723205377 949729158 163809561 304972644 135696750 139321588 710406608 486516562 823759628 575212441 261458511 618847773 682776214 263619177 360299782 265125416 197861069 392448091 774424541 842400310 640713300 704570303 812132927 842458077 170786885 189998401 741039592 580490811 460555214 409926581 544323140 738229022 944883090 983644111 612187865 131656196 174682505 174414145 997667409 317738186 258816991 429342336 865511266 806408626 495013850 925839858 375448129 104905165 560872156 943007933 411982183 202958812 843798872 969894975 919747101 803853823 642988116 923977802 691182016 727679773 918519111 210138419 223936209 110833227 659082406 675894640 277796883 486482817 636839269 477335800 733345249 731075860 996067389 659442595 177394804 678414112 630322183 800981651 220441193 827101520 155225354 898445228 792432077 294957263 925915593 851377441 392467066 926353871 892850271 255473919 862696775 181441716 608117846 240846669 101717483 514506537 345444698 451336260 265234323 423376494 428937430 195836938 648784874 902845089 933225751 471934788 641641305 740852010 101148185 291621654 108619721 949188072 805256707 980447386 173350810 896845659 591179105 395322812 437497103 422377440 974591719 512733175 916277754 650290607 823402092 213428329 124427065 407033747 986547339 320025087 512703190 675523221 909179554 947108510 146403161 369827399 336435311 909326581 152175765 514790534 994582590 224118233 597539295 386184674 377071217 852130920 909501665 482911377 359069913 437976328 207198405 750536530 638573818 560405711 956737291 528999664 218427190 726078392 687515252 686004899 605929314 385236059 300041935 484559298 453266320 164784616 211699120 293657484 797216115 204971416 808235308 411177607 782457408 708678062 918296402 611359467 550457183 768362351 881484654 108038995 126753957 270463368 822075006 922802069 633001849 467963475 582353556 991714899 376026097 666323690 933089947 831427491 231981158 691545819 440229482 163661086 385457948 276886750 540531593 487756081 267855696 340358280 502637981 749606989 101526500 999692248 893738916 922287548 837871314 196860981 620277113 561922479 372266148 192812870 294261500 777264860 436224502 676413949 388449185 588352387 272904560 281015711 273371577 102093619 383265795 652255539 683907193 718946081 403175914 952476974 493014948 677886968 711745488 401395911 625374129 709433907 123229366 260109850 496885357 172082981 629986963 136322694 459190545 282918180 496727539 442044370 234585124 886027964 599522218 387575302 944279884 370186241 411561082 109866424 104484872 323459138 551813072 564899862 819047950 903322972 547976641 180705224 244058964 569423569 110531467 106609375 575558839 112486498 714090282 834871286 286988017 461347248 173968680 961583202 323110185 653721256 584135844 683044394 649786868 287733405 575199684 768019931 797339300 706448784 590863702 443097479 854351081 976699898 545801252 202615046 312707931 687116743 345700229 506294017 189215626 513664892 226417345 242944046 419656870 973455205 803580725 964927321 715147951 221828681 851971215 972386993 142845208 213639276 439652966 487429476 840621199 685738538 325148787 751169543 866171474 239765371 607324816 178937020 605065272 142399593 777058531 453708380 499804557 719606462 183203100 425962063 678120035 884818153 444993063 111338492 269309206 568609158 726665875 264180657 426351700 600960527 922982553 744686353 845194017 938821118 140909486 791050326 893218743 633347524 819570591 438861015 777249653 963595960 934540813 307258155 181776458 988780283 951516079 182758013 774469116 700476105 179528698 326663486 370736346 306779272 854215505 100135104 881820506 908317257 434306393 890865579 812758352 711394481 209110135 573274540 778086096 735502801 669303263 196161657 238126896 784315635 503275758 806994291 630247511 318003662 888888538 504305581 441415323 946511695 693463047 207035353 299027596 696784204 396389192 459502927 965416577 582443449 291865427 636134587 570182759 898354163 999950234 676440638 855970497 217916437 358280974 512193661 834773199 157466193 706248894 813379333 150912202 811031504 258728680 905097383 508928689 944964629 984904450 467486862 228246740 487126247 772431132 335473213 653467641 484146359 269002455 613652613 452392022 766605747 229588320 845940311 783359844 436858687 476154524 116650246 415300335 888083093 136386301 852247408 493343097 684912959 478848218 284806758 370113565 503868611 192927629 491444288 667374586 305093159 871511064 584109793 852460031 892446242 935236804 954427390 684753098 107519361 464245824 814704771 577509918 544495694 104427487 379094748 958573701 907836891 611968523 264462162 180455461 519471414 109009447 419567869 831571579 976802820 941014208 290314172 685501013 871514892 514344451 344309429 683513245 134852945 928483506 601851526 569781956 420655271 621221060 640278703 663978707 149548105 373132769 122172846 370489253 346940395 811450416 267145635 537266742 672262032 298287526 785074403 836919615 991517814 566044945 782975126 405594800 158313022 272599911 907518014 963339822 870171079 506285980 514838721 404259748 423047950 844938474 535479409 790335284 726025074 338859802 879697315 233406466 168042898 813534801 599603897 126931533 104838645 925144389 826202677 873573553 761228270 663104136 120136372 881884970 208591970 702700164 614937415 687269805 767318167 982654035 392824618 380769374 946142825 777844471 651500777 159886506 262175206 280122942 899336643 138048890 819604829 927123695 644638116 292336664 819758222 860641615 601986952 671456160 396897985 629272664 361370147 498753650 450749930 170841556 388122217 321730511 569311812 365070982 657843323 340469195 893002484 280631820 642235306 363510388 202268859 885729365 777816744 255283753 848499859 676029016 556702463 205259598 628106611 362356849 302090733 338662648 320001737 400082146 695466262 943918169 749852082 380532605 811942948 707908331 210723892 880275558 811322137 713943587 455360613 545038988 515983940 380950162 239815475 721491688 695974228 605871884 929998805 940228110 638045412 231625062 266458218 767406655 713119203 744319380 466561466 397504998 357775604 808998588 316013895 160662905 685837062 587779219 625356386 399630091 530226773 911692991 405718127 333076123 333691550 586729964 250025994 445251744 504349236 484846267 546679592 430032346 304353600 546065055 206466472 797567921 266050192 691753738 784803161 471870008 235107328 886519339 777101465 106600825 741833503 555535262 735685797 518741336 185177203 260762641 315899040 262102043 942281189 546994958 696638851 128828387 433470520 970421081 894443084 621315231 139883979 638022159 396689139 990557581 252227609 633882297 164174326 833402148 491448788 745924484 625881625 995703158 132324008 392986355 873697715 887560622 952072722 785818420 874933868 358405890 494976489 194508065 449549180 278876524 894542689 431400329 303535588 953010233 830618092 138040655 166974913 902582793 797218188 385275916 354547432 814229546 551501087 358339017 560525551 685848522 265840816 741873097 141676606 841342771 472348522 909284923 670051271 429931798 258309534 298794516 599122484 519663860 728200156 580412337 201791691 889472947 786649720 611101611 755317221 633084946 844698671 394072588 352275519 867298347 504983181 398721535 482822941 503542583 246278307 969232563 493251784 739866673 722039086 919044165 314007146 517490318 728714926 550439684 517020249 501388856 365019981 688257047 514514802 168337472 742019067 233590614 737028997 446392324 807650919 728085001 896371531 548626173 683764916 882453636 976102186 547084652 561629766 201755667 574004333 163069530 884038273 846248255 697863250 573050885 462313743 543344069 322505753 105884162 382977016 938438291 516515678 432956712 903237229 338558552 878657733 239568414 288966378 443416263 688318204 198279498 982725698 262279089 190161143 103334427 647610552 304057661 628635277 331179701 911164565 997527842 741144180 692651890 178897815 779430921 516579549 588755314 408383855 393565784 381249914 230324383 487013406 524106919 787644964 261692190 425777288 805548436 121433617 117053108 634919004 425837150 890287376 975837910 530349053 959206702 690918883 917686237 315827539 680075543 110082137 510460423 563274671 122000383 628580610 643889410 938218747 872039993 490298194 233269883 409343496 225135576 933804417 752914888 379087539 464148569 656547263 804639371 376251027 341001318 236040614 157896305 621899092 161948758 298829572 409871390 340034122 950001913 653900446 268376713 740644071 139275733 408353139 157618599 457796003 524325119 987133491 319842864 936762098 900818146 135312626 575863895 538571733 233330479 274028500 926787544 392649706 615854180 257039676 996128970 708727201 656455882 140754928 113355210 463170140 921217294 258521847 834674743 954633102 982991533 803150109 472105839 243844599 474073271 232222482 309589508 824750231 983094939 285552311 834699608 907617409 757628166 377166437 843715075 201309304 688353270 913953789 708644982 877402338 835895787 246065060 833815630 682733724 748468948 800933173 875026472 775016494 806986869 921870400 916113517 476474193 316547730 754573339 902135692 128635600 954056949 381217016 482607395 262431355 640977231 126422926 733257787 913979300 708995352 898655029 901226955 102098590 466352843 217034538 397112835 367490946 547873240 608545202 480299450 698368237 966284474 776402714 908687581 449807263 422818291 821834340 250386144 299962171 245986208 172434527 449568202 216101038 207293928 739717929 332125600 104753536 338818093 591741335 684995135 925427517 380284251 436073196 520635770 211649732 707761367 486505805 759277593 510633989 387227464 978310229 561868045 592501933 815055435 849699291 203659839 504775314 865191979 837190939 665360786 940223855 454255795 921522786 372853155 434182779 605240049 685908683 196588385 430736484 914221077 123519404 486975158 790806568 412586034 667927350 142300066 496673955 421571725 631207631 215535787 819636290 699432323 216164224 574047712 227770018 649025764 235473890 126054360 794616615 602289854 431310340 570490275 510276815 563174441 253496526 859514840 183606073 517955677 297144674 226705913 859017676 526689043 121309754 512549491 107194874 571332533 930587691 619318340 534421747 971215902 331911018 167656369 351219247 255437860 172700329 474487065 159682356 997260758 398216055 126149852 179296997 172933525 194635454 918990359 496593239 210906373 476048748 706582533 791182115 702945663 404267612 230428634 201529063 938449762 358489331 711886398 788477930 301981070 977530425 767026986 623211075 543918233 622589638 396826659 979943289 906047687 693907581 442764925 253531985 271200900 867519185 402252427 312591030 828835165 967632309 983367082 982388753 340006443 281613630 101344917 522275087 361577742 446199196 625806416 654079648 528706626 547964023 669635480 698262761 764994593 774410206 985109419 457707471 386596108 920691124 417327162 354529553 933040070 673848533 279132389 418178168 715905220 616268419 869990409 855632048 848383916 995613553 964091960 899125798 533433050 267585136 619633211 271289910 908894731 180441010 510400241 296950584 752332559 687168590 352751408 902626730 938444895 164160782 281481592 734070137 729093115 111540127 970647877 630794445 334567299 210288417 868527708 369451835 568857416 237124163 159501749 825915584 305961668 974574163 238386437 144043513 864985846 580947457 380586315 440811684 823420824 606269403 518447816 460341642 631334875 896230050 220863400 807992649 955647779 545766762 294850005 212134751 545270716 950691548 524529544 725593635 861904890 274848571 388280700 801168453 248339534 744770447 240260183 622494213 371734406 458342883 440180697 763758732 176782889 439319344 232114009 661186617 222033925 983399431 375903369 270610088 309619541 183924165 870169309 561971096 553985876 257593726 813115623 203361110 341361840 999109575 676419143 747378928 549042254 418613277 529865116 324472990 249844738 453124687 195277792 376882345 322154873 561778575 389969846 264484948 764999370 834397667 183629907 251010536 735384396 650496428 528510080 201067919 188270517 553641731 237669323 920705557 644641418 919728481 428128986 515639618 198034783 268160265 950510292 609154359 788590503 112436350 167444439 744711216 913970749 261761681 919243102 977524831 562961233 774156927 568537461 626655303 948005574 882571247 782175464 575491591 804422734 648146434 720900353 982919718 639603456 267765669 204349501 487698213 102506447 286664026 705246947 545168565 364605235 210599276 836122922 148141923 797427817 623454788 646673492 991435487 856105355 534226445 169838287 203225941 509788264 492535620 711133915 345687202 753685001 950773455 332333000 817829901 761255297 158224826 572340301 956786120 588565144 601785702 263360781 779952523 347981861 297427033 983831043 818882936 450324204 119821172 299869247 841392697 578235345 541499785 759479498 559598188 942860743 228272679 403107082 128590216 701549491 918141564 198675738 509474972 344556149 460975935 720498096 153404616 149355634 581222967 410086762 237621062 247366938 519467097 672803364 862592036 631406023 646814254 383657215 382025213 296081522 263486510 127486753 387945403 214235766 886156040 499114624 413667745 567125446 383514787 374372843 499813447 556987900 282325654 722830759 346088560 494199485 815691801 283540313 725836881 128004354 375966238 678880837 795605778 785993053 987429905 385922251 599079114 839291113 110383889 800686252 706547785 326158336 824656833 358512677 210065656 263303120 709211786 219811489 149679132 318263404 142704001 346065222 407450096 540762845 446879660 207862602 642730410 136816535 799714843 335453270 477783870 278981723 223322465 798642721 443574553 899407936 771274266 396580728 638915352 514052758 295910568 723987804 753071310 721510000 596639984 473061986 124890211 438706311 767592201 386453596 156710533 363778016 197916166 104185259 550237515 573503824 225684508 643518733 388850343 390952090 637819830 797233594 189771941 271848931 448166796 518632886 760171253 307534578 831131879 112372595 474517027 841218622 533075685 793150530 874603815 340119756 983791379 798206959 846115095 537344836 752874340 128749237 253420904 153260257 616511172 763754368 571431831 242842365 434251182 350689435 127576885 763310026 832933237 683995557 362520318 567886175 385368317 766982848 543149182 837532580 720545822 175004163 933499335 150130257 253638743 658599127 566155453 177838533 547933581 910679013 605240717 859274053 292238096 806072112 864974159 500778971 153194847 161318433 483850402 555728323 494369530 770481373 921717498 605049441 389330811 236052593 684113759 757932183 198301618 320680712 370511079 507153809 152175169 985312966 565398688 431896336 752034503 689780451 256391335 211247138 403775472 936214732 613724559 907224562 112007542 746465047 294079460 934949087 681737331 679325090 616722011 399860910 317298730 975619840 415704207 298124668 918234375 333096835 163479057 483698622 154494558 291632951 512344764 669036990 601258636 833687740 465023559 402765201 985325754 317627912 297580015 359698613 389669645 264323958 170231232 946838033 570798990 630131552 521975888 390284258 755981648 877786415 840280431 780834807 925891908 183205963 472500657 351915145 875381275 414865806 796731981 391910307 557713431 410168679 429569767 166522133 237292780 214295488 512635219 562411821 702024827 336988646 511503047 176928128 283611296 221646551 222058929 830247062 859493848 394313645 794920249 929723864 375588482 233028093 841707803 892156713 472289327 561014194 431241265 714379562 140631919 257715321 881348666 607570704 275938665 687040962 355504665 124065228 922812350 443812023 501505555 448824316 518362719 840125562 513906201 193790225 293400225 831665458 532854040 443867899 281305080 881482384 789970220 103788532 575339642 565045649 598575388 986894186 227092244 268965851 123658030 949281134 198178586 277433531 982063662 664041673 730433808 766385434 716368570 633697822 691565417 483857711 956863917 188803688 944832413 256751157 939075631 144748272 584606500 834981869 926938638 902887123 232722300 352801210 397165684 570452123 502572276 972046615 698978259 160412630 345104992 621612142 423932471 491533063 651830807 317081800 863692261 387576942 671393288 514786508 210847605 824485142 774458117 257350338 422744368 881566703 452741985 525934506 277109019 353949859 875415773 579673430 842752688 968131877 304534784 423873385 269011187 578258238 519202776 640330956 586259700 337194329 196771349 369941433 419379162 865134373 884644446 218786774 519798731 987866413 638295040 982400058 922908667 768390286 978079187 104268456 195204930 534075429 717058613 529478342 582567895 114897349 418851662 712853052 911207935 434698110 717033291 919292726 670559663 492050633 673778882 658253520 686556290 603176281 204446610 589851536 667708062 779225926 201371486 720920442 493075548 321613077 639477918 148626602 370343921 907469822 697502801 821311055 893350485 752050515 656972408 949553650 237738047 755189886 666222267 466720641 394857716 141410426 293491857 942516930 944719247 509040499 768624030 223072595 648838991 308493080 905232767 195256300 770363078 802588616 343897792 382120646 379673806 709066589 686128214 956446429 805518298 739579706 376583635 615283225 751464612 440798001 264368535 798945399 713609782 585548792 959058566 595964671 832501782 955243339 195818502 886227006 892982155 771716943 427959808 324644052 918578342 817191080 824103553 583641205 347260199 756191207 106905332 635931286 825521972 622037492 751654172 765503169 362810918 252559819 106764639 948991103 146218016 278746787 884025976 696916603 726903069 110679684 119625826 189326860 352366841 313355052 606101593 581244039 265168795 392876613 158116244 417767172 387124723 155337703 713055982 438278809 450836627 675721744 554933967 546221640 134863280 125943736 413082910 281755616 230269407 582021824 861482326 360124802 391078564 621029962 298973957 391666841 969703850 616702814 612316362 841883303 710575610 424885039 684392234 325916387 152500264 502937421 759091905 723354599 862995872 527462875 195142208 856308526 150028602 350255495 510879267 113678178 568952176 931869713 164691658 821829276 859444674 590900143 387564151 974956254 231045257 617213576 340537583 155224077 181183048 118823525 921717834 520112211 420528547 525430922 480895777 779604589 853004640 445974477 483938449 380198445 934875373 903350608 282387164 842089226 125015419 886687724 954026540 507262904 968963598 256365917 126453908 900405659 964586448 393867577 820606037 654009700 109517043 217156173 682279774 961711869 721801026 328981168 766333943 156683562 400335254 603283360 188649442 962975380 557179077 942580818 996817680 388402758 728905112 150027451 422475440 727491779 212415487 379423608 917510996 721857972 671688902 966197086 216960095 199955946 290215549 362121895 741966511 660769932 287364612 722863452 319401747 426809335 249333063 144230114 712330591 382154617 168070315 251148415 977845514 604989658 101329844 540060589 717736854 102237023 686432494 548400933 454275573 996273634 303860496 810865700 452225883 994975309 478942090 415256507 694814515 315590420 662270520 308642848 613449340 169746139 318861048 313752396 335520575 426728925 691871257 553924107 453507511 222836044 930292093 235021790 783809981 876147274 188634926 796246331 391397383 140617863 381390625 815531988 711887572 536568466 892017201 156781693 265370048 388838540 565567997 288488436 940518353 429375943 813794210 422825605 289729530 755383037 534976277 854314635 518922635 538025788 552144897 872288594 448728066 570570412 229249674 364938964 932740218 166496971 284647084 712315844 192771549 194711264 979017767 967016673 549522058 376429242 715281691 464283368 854886047 766758886 544165208 299743290 548166259 525715368 698473762 470808468 456167305 186506490 976668372 293391291 430920559 261258848 455331388 929681218 388272660 503384176 492619894 920034954 937470847 134328705 396847609 940570458 185536376 222113592 947855405 840837983 216177265 918564713 175883113 439718551 267035479 902004644 632760518 221705002 265543185 849840662 886579843 797631860 498594751 579179961 735638134 122612329 975510262 596478031 163092643 433880507 946815552 858719482 105151592 309578426 601501192 571839971 960156027 551377790 211349670 340458758 695582350 161648930 418025337 855302750 230698048 484110193 617218871 144837899 522286367 659685746 771449060 644049385 829936778 304259226 523277155 350539053 195308128 616758797 212395520 859474940 360544605 684608553 131925620 758868958 840173162 495753276 167842751 303052141 599008032 738671829 420742662 867441997 572050465 210367630 705909257 570752909 168643670 818555485 377819320 465088450 531058530 503308137 882844858 792302241 680370298 754364470 669339006 407226327 424282047 316262648 845950117 606117276 912833505 221999760 646759201 139539879 559154866 859276551 638970498 885055164 465946807 112408629 970560099 612049351 995502230 899728347 394712957 174420699 325175763 930556076 610290355 437087782 319925622 558414269 648854797 233574210 151645823 529697493 159747306 350001824 269274840 624929635 676647351 338184697 609188688 196555384 734254372 639987941 607538530 912563499 702784998 940526113 749067390 325399792 528109962 848607850 898622657 442674032 173743605 261861288 535998244 238575796 805228028 891859520 791691755 259589317 533098262 515691792 757598147 202745730 944382718 138593723 361392013 420257695 778432241 973347009 977613188 343978380 567365019 190216683 438360342 449421648 910301195 557771326 731564548 689451806 920133201 930246171 370581225 230661885 515210567 308381504 480654361 515862357 770366948 903255958 742742193 204448255 806965768 251422974 973343486 476974141 765295274 643127775 700097413 379975689 100450691 110012128 954449491 585773084 115386808 230481793 591779857 715953336 637288382 614282610 623138137 889756422 674183257 276042095 315150052 387683995 648553013 382398315 373466023 789130962 633045734 983586163 615170784 393601189 291140827 957942595 838529607 971508379 612218630 993153598 109514834 723284278 316979960 988341924 553049499 810215843 633742359 624856640 148549643 691271761 896461713 964058934 687443365 917330679 133093077 829849609 509046517 406310383 243405926 269785973 926430120 441429449 732786866 691363234 234787383 562285059 581549345 135331332 289831524 133456721 620399711 158920962 730936698 571897383 715162765 120974277 532891409 888124874 971017774 112179997 565352987 515387325 482821485 243686822 152539587 953560432 506447485 501703080 770466249 795573870 694719369 436835345 624333482 583757006 919178317 213835131 477240348 868377863 391607721 870462705 197152394 164478932 301675646 837536410 949655637 611485957 782167557 789716786 527162274 310016418 669638957 992834030 984880512 209459125 610281969 899574321 930553346 677404772 606705552 151081678 343415022 929733558 934440842 845261875 525255847 303196252 311879470 787551873 152942355 997664254 955663720 781376171 646141523 566435793 980286900 626174966 685893787 465816726 340594699 603810045 937864150 837929290 463568965 222331366 996358856 886205487 414748164 445228825 714231596 245355731 798394782 712012868 497640554 800466175 497983609 720646517 158093853 944247970 456240231 459840308 237891875 181319789 546906760 893246060 805417241 255138027 101068853 449700991 899979009 918760008 416608965 745845371 628893936 601493629 120071715 650044187 822741950 367500427 355865068 138468736 574096227 579614947 188490209 425937669 576156044 544296168 948352169 422077256 530474388 869029456 832530965 242044742 714407679 366673796 721796688 533907495 702051351 640121725 382740747 990065416 534050160 232520277 771138734 164054493 947515618 430727686 274639146 365496074 516917539 795510419 433291209 908056147 329008025 302310087 932969232 652541766 166455620 954453311 693009717 197770113 424000397 739335489 950720209 450421985 249245541 602496517 110909156 247431964 999306316 670971212 354015319 907314485 460948305 339098335 245123139 249348741 203068216 152555465 823907741 566561113 121734069 987897509 579108717 252663340 642594954 354316660 176791557 434718371 982540612 218817111 692833433 535782384 664458096 536879785 708551804 360906501 748704642 314068452 838173433 228435007 131032306 567870446 223887232 769812723 963628117 952286605 475164247 948088970 817154386 903400615 927634921 654602931 861623395 365256755 202813217 700833087 274788352 589140713 325574480 229180765 769507217 402681235 892600173 353660046 396205703 543499227 747540834 502011427 230885830 650484029 598476379 303454694 770818872 460515494 952245447 425229367 891736830 938551569 934567220 678660187 537227922 287720595 749664459 225082825 430446229 293122587 140286254 718431170 443748485 858413040 295288848 998589565 233998503 121200632 671029149 643392059 995020017 632678971 753313273 774991505 634677926 444173924 269212522 522619954 451742758 409426240 708993157 530733897 488320867 488418001 215243428 767925121 775514382 773224248 382034565 627120446 755673121 452045589 534086207 111246030 880155260 748788066 484660564 529722149 632491401 644188166 888643943 728483836 418424663 724144242 989093414 213892817 804835920 157482497 278172026 675531778 229661137 250617802 547692023 623633065 963880601 622552934 223805645 965797997 735041696 868711075 866538696 698293226 473409967 525718965 750223607 398791725 493340761 478329195 733828909 456245083 945563170 496202451 833608197 643037437 773968528 495588332 700349984 450283871 978458753 437883643 655003026 118232573 716156199 934388049 108496588 900790449 437349383 466281235 128170132 887179710 731461812 589818789 850609275 779906269 190201306 206733181 110779990 545524432 536094277 127549267 769583650 721451687 987511791 397299676 889369064 748114474 295920112 191897957 395955639 523981817 795679952 523470825 527815950 471611556 535216278 489770450 362328493 577995509 894323948 419614888 384296980 400919157 641212992 881530231 973622123 282536413 200794681 173811281 421197529 605552225 225428393 679610378 714422508 854914345 139911874 627066764 121902264 583275086 675562478 711268822 276417234 242124084 560532975 864523362 955618091 294871037 295339050 103179003 198740196 388787741 198950251 913915930 150218259 304322353 282630891 340805239 965796358 588859012 675456869 401870009 224508617 924857884 686050628 487419023 157777535 485998069 428284281 444892947 909050089 913962817 890592383 833081911 486418452 282007884 500489037 151405486 655563072 619232838 355928673 950763471 173542505 124797962 212618440 969958954 710876998 292332328 431536922 240290125 888755551 233464409 623858350 918298562 224041683 663500146 185501421 875044153 534804270 191796449 514941464 447767671 231596601 516792648 871469908 253243074 418612763 966462526 963753971 506285778 198155601 733847681 115223346 446785987 841236446 936950149 265514968 627052820 600264532 437098379 615169268 660288729 451903443 866625602 311105894 655659064 791530673 806699385 348909412 353282668 957695845 719230731 474930858 331639561 646796958 187777280 717620821 501545010 935520913 509050931 737341823 377763490 575588341 558937543 953529759 754266079 941799395 541676829 304033906 689835181 297919956 542407246 328120645 662771549 256815249 227879446 986326009 533577759 367689175 971591327 239119038 254028240 932078789 225575378 369852458 803471053 587239839 819029647 267294397 402619283 393903608 274970572 985459114 753068210 636903551 645700111 825734457 859723375 590477596 612781738 598383755 850083295 110079579 189126470 217406461 522997395 141154599 745849014 712692577 327269845 969593677 135788540 206325369 114814836 712764443 411825123 587747519 987963799 732797367 980722579 473853507 814254871 832533111 145659585 108665828 779850588 744263687 840211442 367308494 326085136 685152019 195065599 274451734 628026945 370006517 660641875 502609552 102419453 846327029 274594982 106425133 532431178 588503167 223078108 551901023 782540392 814286330 637231266 560730609 497727610 257913276 301998307 874806709 679010997 956232191 284004177 690745702 909780806 221309822 497979650 353967515 938335793 597610774 161264593 981498320 417842900 288871839 537425448 564877993 406196718 451304073 338804425 478461310 903916254 561187704 269312414 207501017 500388013 807362132 508100571 846719379 583820347 610586387 198671402 241033439 701694278 453914035 544688019 244348472 911000116 745908385 589733259 238222053 805648488 219696744 756742747 302366181 191738028 786352481 888446428 353074771 787122031 672850688 719366229 230062081 590361602 379016003 166221125 834567543 373943017 146906868 521801591 281990794 949731334 630188753 275094830 936476923 655605122 619851015 764912590 902051480 828818296 814710769 252029569 933851767 229543127 735274890 145117796 346310826 902804392 372534354 487771373 623551575 530297908 444294328 451641486 440981161 496547416 173655886 552814927 782478253 752632528 444434400 119885714 522200346 140281561 717863620 736315873 836347379 201900563 481707943 170916422 655766656 947766037 111939092 950780493 403231708 173444002 600783112 159987132 292160304 191856884 623078413 415314434 958741568 208217391 667703469 432793760 400748094 280791131 567948072 337963608 815969090 386225985 470081333 167771331 387904730 166021921 750136593 226795166 510875411 916797221 590888367 911334803 705162767 426679959 972743247 877227361 578659543 308329310 157910122 727668322 283523538 817353229 276194459 998251574 674736077 424352481 351569289 732779928 304148551 966533074 677530476 956498766 230643234 782214274 221178374 573362161 600997228 670899506 117914780 682098060 995044866 937200739 467190473 729216285 996723001 400711904 683385467 952930980 515932759 688147210 310316159 972383481 195911014 645232130 105905842 938458894 415440057 577474682 319169715 273063578 976748486 585473311 156706723 541015917 943962405 140178539 479706095 606643688 971317791 524835574 699764233 612181792 299133771 256609429 317448271 951191078 131456648 838124169 593067735 200932303 355211318 856306746 538212212 173923987 828112959 555947918 136499079 718348505 395826629 637916858 957142249 854228508 431215816 353479452 208556475 676774645 434017988 906514295 111788765 985350716 440399316 488260498 519936856 537961297 296200355 968366034 110832645 317225041 710890766 829478865 275334579 670147087 616480553 203618090 182867961 705785622 434817302 806767475 654470834 937546543 505431728 245920184 134639659 656025513 238964695 440511052 873066462 641026268 109565787 682434136 671369716 319799407 282072797 281107582 715789414 414508649 226865042 620850797 469951313 285711926 722372818 204897721 560857038 694460285 459588094 770576483 560742115 475357470 166036755 236903517 914491509 362920350 967809839 113508440 244215074 599111779 370176506 110051271 600387831 470634425 360863417 953456245 995021866 375624864 615945285 351178157 718318969 868444591 834091696 949941579 685308477 718659224 862930662 218246164 314282985 228810151 877805411 104476747 866641284 827554338 461366456 218166719 483172491 190868929 654166117 460818436 186851786 654337369 591433391 852599761 327798698 528943973 429256155 508298245 585043354 620614014 320071301 377261291 273838601 938137464 247389892 534556330 462213469 482850759 613684048 241130935 423306109 156331527 695094546 690790421 118495459 897825588 444421446 791497803 654646278 936885557 797445687 710187081 212399444 658463995 613526486 534443501 257168476 707150633 870457443 712180186 884962962 890896508 121922287 483618991 683802296 919258799 274956807 782194810 482912473 350956399 359120783 336569859 197548429 240264298 156538309 741302246 865477541 943328778 519095167 395111137 205224860 811743809 160222492 513242115 186473876 360958664 327771722 231875924 777663696 499234457 269878008 336510051 760258055 496268752 273828207 903570476 135066179 171654642 672055131 428672372 324027141 439924456 704147587 347230524 305301339 896693452 584098157 713044195 636331620 701320610 563171206 119677774 455898238 975104978 800739702 659261583 803728891 460669007 155020616 597443566 284299733 865445488 389982515 739973966 945143656 358566239 452909343 811830022 260947303 826496208 358667900 428766447 814856169 589959702 609944282 234597319 860441344 825877800 552395150 531732987 208710741 463346758 384248074 102719979 205237964 614735957 582262785 598057582 605908909 478229360 309517305 128667909 841357192 836230916 620121410 528866847 817952907 232435108 442276839 691921386 274239404 485463469 629717472 655878273 941993980 530080178 392507832 626876389 588963090 588820196 743265276 655272259 737723753 546075911 703357587 931466330 203961920 993504560 794551771 799488542 870306622 790735247 830056687 939674148 451332772 983884800 166150092 505985513 901384573 680135989 633719021 381335586 277118871 166578089 760798206 356624691 698669948 719865392 956128848 718627232 915922542 901465935 464933430 836725511 418338992 765839007 909265623 759377933 780427467 368609161 535673100 379796298 245668266 582915552 603130896 139252212 918283598 286939790 439419371 624724067 852155909 954332088 748060535 281207841 661586569 793349039 917569715 249396811 845275260 653794895 915197808 537695421 169199813 590316400 950006381 852938724 196455332 982398371 900626282 329860594 139256701 645508088 239707150 169282428 299940724 127450789 696841965 850157601 175790183 762281412 226990024 818661887 849328014 274095591 771498241 880895628 160461200 584043154 411844065 858372077 860980334 692482173 374599965 313023940 780337921 290457629 215734141 630283492 113453227 916026810 832971741 775414714 717851582 481225406 329090069 285940547 299991270 620697746 901424614 167767800 450273326 440807759 508918156 830800253 755996010 416558611 640758825 716502809 213318406 140381873 954039843 333029490 496851284 559702324 237149675 196640917 186404253 377589802 641046384 900820865 593304769 690173686 458488726 594052225 992330087 436378953 109747360 663974051 727157574 902166350 655471178 978656881 390813805 523881600 193590193 542746065 438259541 218908855 235243378 607900787 626823309 929500898 160045327 777855209 691512148 955396472 882083938 965973697 885884340 258268576 661316532 769131876 795987590 379565990 628817059 153828604 841828565 545535357 634703695 784789053 792645299 777424384 942263086 811841529 993033329 522658047 774166844 250544896 118372059 396029839 769119076 100530495 527051382 371067525 635448206 120704953 517227796 596092459 459676793 520224129 108723062 837612436 769081819 163798076 846059151 280316149 861990525 955364241 473465664 426598716 592604399 856288105 490684747 470525121 227164270 719372160 902924968 915639724 903453531 837956538 812317634 239365211 689699023 743932403 181460687 445983256 350623106 238679451 959134630 583341124 110443430 704814333 494726935 663800753 581642991 618603960 908202332 106969776 183218889 542135383 330359665 982564428 298068198 443513739 718135446 430611361 511412789 626054436 436427626 738780413 419322375 362802353 307020715 656269188 428823375 276564684 255519221 620354103 396244950 510939830 174143432 502672759 219044019 867051429 356993215 863584033 511139219 146902842 201427823 582295424 272424175 172334697 873254261 701191847 620542433 198241837 123058970 977032152 288442506 606532180 880978280 560892873 392041404 582945600 126539803 309204610 940020954 505059472 212545463 645230841 951065591 394982207 480961716 797470363 659477083 634830017 166924287 992263577 377137402 639818776 883958901 576594856 940700528 371424737 507087331 952927973 561835869 654046817 745656933 278782438 516702483 241244169 182889347 872173089 319150871 485278138 106999021 820967483 732791384 833331823 431177118 383333838 924230403 536813730 898139507 674483337 604792022 423072900 864951999 128491167 375182559 369705611 848406048 114591775 815833961 114790147 875436652 554525413 473383972 605119018 729137657 169772937 248814269 882992743 708988661 154225979 494824671 987263439 397284511 776278383 825313737 987479745 837408769 892492624 301300057 498379975 293381125 297105337 744364425 274826917 477649659 523423004 798249991 991480263 174077797 891058452 415630888 653226232 901083740 569621099 343819702 325290870 526627770 971285965 917211225 471436358 387078432 264660011 655899466 407010686 589407861 256477024 236466140 567401690 161219224 676808025 178502552 872047465 665305961 748625449 836624786 970458177 456850759 827716491 235563974 736365756 719500330 438545845 226503793 424208020 232688000 563114560 135643386 336062640 726033941 846403917 748170249 589243389 680018336 435829256 273744616 473780140 233474904 891889640 905583654 867866429 644925524 675850677 590104053 316893928 107608473 177457142 241880820 690780087 619968288 429094230 832410250 967481221 642531206 360109214 232231612 351865892 558662503 256003363 130530995 784918029 430865703 638012117 809046172 477310913 313364536 305548104 542553834 802264223 744088159 953507363 722461363 998632237 548280644 386829467 979890727 702284003 711299196 190236304 485837843 816210608 266981768 600619339 244386561 727841666 581610993 879939262 195200436 434194167 824001282 468870250 939637917 747475811 843311005 749117072 614615748 632005901 405638289 974745932 400685128 330634104 482364858 766948672 986270847 758697866 866543517 912702653 792484906 970148761 604427430 377645590 388590932 446507259 750326083 173139002 179362499 318456492 675527600 895115507 189470366 244928083 850013538 480648213 635388493 503427757 473775381 203734669 264972855 467302403 404927322 284301917 476213612 163798816 742136496 816204035 507645220 802165008 137854928 828814952 809149063 773079811 352420891 957911597 383953993 987858101 292128421 396379721 566478775 977351249 135328716 670428746 624278734 994064324 687482972 548423992 772194613 484056703 564568573 922624623 496440647 751558177 600126670 814962230 662627672 906446558 352169754 243603303 802098325 304325197 707050810 779578514 633719869 743642389 766409593 605383738 853457199 873819305 808453325 412915394 122167530 586282998 582737082 219128122 274729274 516918059 763189550 828219672 247338436 647825077 597542343 818205064 483035224 137454768 499802573 166829867 403163545 622549629 706934191 212472956 147918463 199182763 516038651 234972532 112111483 913064855 356270258 180413190 110851357 970580746 187381031 742524753 636527937 955997349 565455946 852099805 294503699 291627281 887801885 709544906 953089798 283701654 244564656 746702842 913743887 835627117 906203500 416741984 873014097 389739130 549418563 799792592 643532902 944061832 302435485 439552150 715495090 816983299 693583771 544734994 358514385 171592328 789192041 298421957 161478191 732217583 200966448 441138244 370511849 558056710 391408371 101298952 342594205 990580231 959987307 306898266 234699375 785691032 823217232 796934008 987347039 295241418 331368540 663059160 871636869 193560786 615135279 991079760 431185334 863355064 881401732 654216688 595262477 166021237 165156023 932455435 420393297 511447339 572527969 138654837 200024910 991110806 291973620 342639251 863438798 811628365 883448041 621368583 812086224 436008576 181157868 953143197 137393604 770471367 748430959 883719428 838705416 299737648 706811142 765850266 706661252 303323791 129924348 396272600 509564937 456164119 715453868 405595202 364858247 869468263 177182484 750665203 647603758 286686907 595568576 791261149 306064541 311427852 979256578 962773957 835156399 980312306 907116266 979180936 781744630 599411922 365888813 141444610 111581193 656317168 169962950 186054411 757452190 227051002 125917595 603945875 144339162 402320175 603382766 392044304 153660667 506612703 734574864 978530035 509789065 166010225 845422347 618342618 822583453 840869121 459354999 547821383 857103461 518066046 614069184 372658611 746107190 142693060 956936859 438535066 169806243 150782679 268955002 392875585 585645795 490766663 865374913 625896700 556039576 373575581 850785421 257513372 535533262 258408730 714000658 364500641 605079918 602674376 434218593 447976799 239989271 311636683 582791502 935732101 184881434 918907707 779016956 423439806 833905798 478168441 338831413 723418941 287953040 625582687 613293439 741294895 973778870 264551871 403906600 252451112 715507298 828631768 238736394 869090998 583578313 248640045 680456209 687716532 601716075 809123728 934496423 864182989 504487628 297535046 589472438 908210449 818078121 305618067 703797742 413934317 271782310 554464384 837155242 548805936 156934314 927190856 699379924 423963948 856848430 725263531 978609865 246906945 207769642 859655774 980085958 494098016 152397697 195684528 642642997 839121484 705755220 993163955 733455292 158026911 135417277 610875529 467915290 660500884 921357646 323945699 576503053 444780159 345809559 120665382 534410451 474983054 748858278 408776824 777176968 952114356 946426244 638819763 679315285 908712952 528583313 401824882 272097554 619673904 388556389 691186587 900120819 879577140 466723542 270056819 528853181 138938186 854509571 128239478 270771234 858570977 256721674 836744236 216090810 809148317 443438450 222125600 971790526 346619298 509344754 847069096 496545417 434762881 260828822 683769723 859665206 712561982 563376828 991072540 482188411 103482669 418258137 867613927 121957279 800784015 857628420 846472465 725029720 345775910 182771011 724225730 950004182 591386659 584246857 346224722 531423191 547894769 438658274 139493564 863369994 737148820 421554682 923315627 605031254 900807828 513930950 532753289 307157642 190597869 681792867 670179675 693156608 756168935 923683070 906023093 749312826 947717243 891400649 608623209 245903340 105818187 871322122 608481808 584058145 960192836 321510430 874097832 413174910 869608510 100893546 665495901 444373391 434815304 555866891 648310770 102689108 574304544 382565479 483481273 485623491 769130929 473614512 523635265 724222714 468003348 556752135 667561551 964052250 485029184 750507982 950407146 203830011 419838444 421165347 456320031 913008852 261910093 453567359 367525523 507242962 881703093 388328369 521076669 235664590 195640638 963000787 398787722 327802789 676403545 124806877 392899878 133986780 703172780 150717985 137607552 330513580 851803223 877381736 864003416 641629378 637238324 290676918 362268180 281578411 226953394 805483030 486836106 773518337 905857056 714884459 685498531 304277221 547694466 360732923 938416367 540962440 652731484 603113402 718384992 299365187 411095703 829895221 998831724 481577490 542245030 972861412 627870545 565568211 804080689 812193144 326481345 624005055 266023019 587882554 406634852 295429721 464086916 759137004 933060675 485139366 651026985 713312593 860596708 951871952 444281788 285131434 312749123 406225320 858356799 732786311 566858777 484946166 820653431 396607462 856517988 489154324 407930283 476425117 433801631 925811157 415389389 156435113 507044249 579942221 596137997 264955729 239731143 981359780 306380705 293655669 966996297 367417385 692641315 613123864 276027328 158468297 612766826 558344680 625992765 960304440 964959519 822056408 519846878 682331067 228359682 680104948 518373748 453326386 134866680 562970585 976576395 187445947 252052356 489954446 324880658 793748253 166619344 597108650 580879526 791887939 430964633 865777027 532539192 143670753 462895246 993109704 621626493 369867942 742124038 897532403 238200942 699142527 752163383 225102134 105737462 445126076 254369076 150523248 357333355 405412921 261118845 775652814 433062828 382327301 562579072 475665287 330269795 431805311 638149561 658323462 690020967 998936736 318208790 634698268 331357619 444097637 570315538 680017212 143356204 663796418 152617076 272828663 226640719 220191859 990308808 855111238 901126505 805107295 701497713 525447780 752464204 646410646 771827448 838178416 707911715 160090156 253634398 197651378 150078707 423148625 686148234 229156076 738220531 802647528 591056537 308110295 943470000 533616713 409745800 943078765 473693335 140411820 269906523 690097028 616403308 527192688 359295656 707195436 642074118 358667504 899002353 216536862 275459130 395077513 601646414 870753415 174876903 388359702 483635702 277011672 747406860 135712854 499174741 635437004 994149738 339721762 144194609 107234539 635155502 819280544 638934093 574743585 674990926 561436263 329622949 147249566 737334297 731219030 878469537 120914568 175093333 143421963 362757798 937560028 949884085 423725765 324512600 569751908 548179461 390542589 401868809 210788305 208170666 312342226 578254197 135495450 418929986 832148879 435714105 578731582 527581056 538858185 616436281 960770039 792653016 599577198 200321833 850329644 778605370 492310078 346321643 140797914 591192300 632065565 801052597 411862478 760179044 975660551 720405148 236384305 989325220 710735942 655326525 132380363 821327807 824905215 901952546 259586391 949583052 194345026 772089279 346918037 185029991 648943444 845252862 909006098 593912126 751669604 962444196 365147608 717825972 649986012 477785448 691211940 964419959 526354952 391067108 619561996 265162411 483120341 325579713 231651336 235031275 656900676 470840769 162438630 446433997 222747780 997362995 424755382 851988820 702460687 140549086 914883526 503211001 726357432 150267757 251301912 775637650 292780613 156883943 749287432 643794751 581878885 396264478 334226598 232926127 565337571 661783850 147652755 764769413 680885396 440415230 764678563 855994653 136399984 379674251 453831819 851227942 192190157 923832040 831526787 583379226 544535585 763410841 496127831 224651166 205004512 307513254 916858413 983708734 766466347 320134029 169239673 259245125 129243170 585201410 423903349 728921662 125192214 706520258 327863046 844201641 221463654 211845235 958462041 238698692 692139100 768353288 586732644 895111962 777915188 496650668 401277108 584077763 742134243 251408312 562973101 574300157 938592574 118953761 812008201 128233061 704373815 286733695 567287682 674503542 602505039 742598690 300216147 251951312 284719236 598412964 177519395 141014849 419721190 107455568 722001632 177509315 395841252 192745165 448785574 741124513 745120136 958337285 597360530 844676725 452828830 838243954 454140525 398185438 831253715 746334575 813390212 595886175 625038645 265502022 849170535 787826014 977679716 800390528 473607770 507816238 786121980 195163330 300174481 792776681 399090074 152172429 198947697 603399815 225696292 195940191 495368208 583235287 662921547 709362475 324875595 706639571 979391625 362211892 125540220 697437073 258001995 283310607 819391080 796950535 138361423 630717203 693231767 265061316 148040868 574280213 608396496 436480424 951649803 983991748 422164775 727461271 641204104 447349684 980444968 863604012 166248748 320427694 289846764 607541757 759196159 335994284 510703360 470188740 669622825 949597339 620618101 719647712 399283762 748207756 604161207 623774932 376979355 489487222 375688952 423817682 484106439 807549412 453075704 206425052 757898243 940263067 609162309 255575632 993801223 758986566 482872418 879811068 411936219 844906354 476557892 378853713 806640784 116585669 169525009 701143274 570487996 373414235 721495161 797203864 457505758 768872078 271056973 330764326 250720299 134147372 739071869 667482215 716706848 575152215 628027030 377057643 250550686 515080250 256612215 924975898 954385654 679454331 988128880 529819494 382147627 281810969 801759055 529431034 419875742 684720799 190893562 134500156 644568537 661618801 292249439 194454571 134224805 236372042 296142494 776161742 647750737 516188163 771748812 663529144 521031299 448104165 779780949 878694536 594241221 708281690 319104426 693212264 521944797 456047696 175729135 325413905 934854456 980750556 837763155 212994288 854324682 147147314 161437021 525086425 404894009 812830996 425748831 223534170 983528887 897158617 128927066 953567744 818876661 596751474 625211944 165096149 415520340 975444617 131599607 299030509 501291361 586580523 923220243 843940302 966715793 137164469 323930926 419631464 804876319 828313310 511199816 540757738 983913403 170506783 549552387 485643225 715047298 644083504 442741741 238826186 224106394 447478066 498637107 451198150 119402111 855061195 929658303 581604876 659907238 113746198 944671484 199175943 372987387 157387667 531029924 884501505 345847736 436534843 690955576 448583947 622195513 926790053 541145066 786592746 268927706 708606142 357877116 390182699 765505796 163903843 549581035 600458163 168189900 349969358 507265868 356660572 677506205 340820740 680253161 264659403 868105590 132716199 539977857 989235304 860137338 728038531 937114901 721624034 317636891 710423004 956548217 255024876 792861938 268743587 123568144 878869473 246532152 838749002 292535616 670607812 524522542 313828079 846177552 512956869 992538009 214081905 925331069 844883850 758610194 218321540 507344604 953054327 920899933 192799549 950247780 655235441 765566586 173380785 340928225 843456248 787933543 472632403 286099441 560439894 297903043 904841010 888488952 136265427 841267258 228963992 766664022 256500760 179543216 996592826 457035986 398082303 906914562 926291188 175208589 170074658 989563181 538621988 287962495 280428081 309855339 406965718 917387239 823436097 522150629 499684382 398827175 592235590 810005318 368952849 861691218 946628720 214939315 113839242 470052958 527033226 344300280 747548505 238357366 452338196 612946053 237752359 262415723 862099775 435961635 831619570 394415662 862232467 877265912 139464618 355568481 391931502 763249412 611278151 294034978 598903022 569321405 849459135 411603892 891267100 460314566 675166294 226536594 880222951 448116203 345181742 233043520 849377288 688244568 882624969 230018722 274624608 498092395 582848639 458836738 886466544 401197487 759644937 344036046 922137999 978599759 319356419 807248490 194143665 376363658 566737546 284806140 905004332 420585773 802495057 752080676 447761117 664093604 671843327 815199893 128017078 630691830 652552521 248815217 516334032 792383936 460646949 774470434 945308741 632804082 830411568 184858317 106371875 619567057 873824407 251944443 202043828 488405366 732103898 780888797 398904848 906770341 194450777 640437695 166174934 798667087 537341793 292552890 543856597 788498420 991572982 667391271 229435700 188717985 565942863 472582144 450044143 254868332 780227828 161090809 319300450 202086413 738368698 710201824 901396256 524221692 361448281 828542579 166160118 621477903 718254036 285353364 157685346 163635940 408496157 493273141 275330953 325809542 812567520 964581363 719632756 836363642 760109656 228816385 587526708 959928523 469773500 300323482 679452693 155675698 728368705 311295891 549170771 839900423 884209887 674349354 923652290 245217006 316712823 638278503 497611826 558660025 680601591 662811693 634511623 966853842 613208363 995599248 685497012 195351267 528964608 493746187 745526078 322778219 325650790 997822232 620471947 872867874 338152972 584853566 117205098 840743068 979784351 702267118 893264168 717498275 343478947 738059855 889269650 460139452 310471307 659197155 102838409 334219233 811423069 749938139 419755400 137550346 886720196 474059027 169532918 393472105 463989621 538582057 684861725 979632049 688815303 722039824 493667798 386736009 279627572 525678219 329706521 239577658 165835880 135022693 976191622 505921780 180161982 130930131 414223707 215137913 665619069 621885730 520829225 967668434 680327633 800005527 921710742 671589250 889892314 752540957 149744432 510302140 359105092 921779264 899121819 273655870 121883274 112079264 872061555 606571637 473265435 970692926 716018672 255246405 106430644 272140323 877915111 795359763 673649393 609046741 609750114 260003257 437636205 386500050 893774174 602672942 500649678 888974579 796683826 941667806 983227212 883706599 491636355 471286010 878656825 607523957 710925744 723034171 830872008 124177372 924214465 963807725 711827089 501832190 169433188 842451618 299435136 679839307 653153303 503013015 168036818 748290272 998768846 583194985 998934968 882436164 395326868 837291656 596819506 752336254 187765771 564264057 316771198 619551875 818874054 643707614 348368489 957136463 831806951 101450017 327103643 550308587 204584443 123667476 681242567 930909268 992323635 773836869 705379142 136986918 160001474 830435146 742480164 584610918 870965047 601177514 793790039 383455361 533829214 677255949 697820804 622223158 747611509 795874378 973394471 780541346 820233327 225415067 967721985 435782068 841394450 496960483 668800982 887635837 956386557 918424621 225913641 336418339 747725516 825096211 809327424 667563981 101845719 642304346 132201643 732845701 581459921 590692316 570357981 432607048 874339308 512330944 152233380 561120527 981519073 646502363 705611485 900180209 724926999 209459725 503085595 598853968 243905964 360232791 539966004 829347678 881055806 442455782 387103542 289642555 165602762 993984834 538058317 429091516 942786100 880748049 388429995 751431355 744950696 544444622 951154529 939862273 306554999 448261022 319412449 913349536 822060099 906120048 984619981 538339887 375528375 626324204 540804915 545879800 178351405 699851257 349336340 512453800 407458033 868024959 832938168 841057062 410351600 898148725 261193505 731101258 604561251 643765300 945050303 615101448 340616770 823855803 565800276 796522300 544055934 206393271 661646020 976761756 645471041 598490539 613537192 336721174 940904494 166298879 807872236 524757226 919217338 423941339 488783553 850507851 463630904 700800451 160364286 892557149 965733633 781038054 322272183 135628571 697518554 409966234 664271800 502484617 433424081 962045300 444383319 288399151 586368674 595579896 413202489 964637281 698234770 376607250 240384188 331354099 839816060 236081801 129224451 491518900 175779309 438231091 261263299 897227302 211868918 883196249 529834059 470287674 945395906 669403102 477487479 619874282 379555260 154977916 622682308 344741208 169692065 409648935 394396253 256344281 994148270 633035569 384554303 853041369 436257657 541592344 466638780 866973674 104726167 290018053 362407504 781517796 802125502 262062780 264826054 806757504 717809365 811206676 136241256 600379398 986766338 736945124 174432681 142948525 472295309 980113472 296351977 571320458 149550831 121500163 965803923 591576480 335419018 169044100 281026404 729104338 710463264 566098660 768383914 994072228 359656970 279388767 609131022 187521133 678616417 996984322 336867951 905078773 368418354 833064466 322649225 860821844 278950100 910282634 851679058 937625770 110037097 239192737 613659611 387268853 326814608 281868651 464788774 907478518 871547686 398099772 510850042 516667990 595078285 264737796 465701977 267351312 606407425 439459166 607293407 547895200 856411257 922280660 740042868 732417807 621295345 243943727 767150959 204118031 272548902 823639919 816419007 360787979 429941029 878856201 463182275 784484588 480236352 616753967 457600370 625209035 519408117 888197825 773265565 209871634 651094555 466706061 302358963 629954096 194722227 826324484 757285208 280507962 561436128 990630104 609644617 904140462 695594271 586618868 662471165 323906063 245164016 987683003 879999085 636332442 310839807 312304053 534554838 547742277 134337753 345113427 264896147 578449958 401299774 632409013 862269758 112317253 849971173 641644411 366351590 928217953 363143121 259389859 450767683 288389689 549325237 331422936 533283765 315279178 935600462 320931954 628815608 708159507 272056958 546486349 934836916 914954130 384005707 857232438 998064691 842263769 589953289 343860559 581891611 326559612 451303657 516054079 307046574 571104420 924653405 730001879 187444110 506421169 884740526 941216771 346299692 194738644 725689781 890609063 407609004 320730870 522231509 361681449 670587822 361717166 367215198 230444976 607430030 487583498 462721183 200709646 533445019 267038084 614038243 716092430 639750323 939538706 316353651 117502326 313697950 181071269 556045000 203021409 341414740 355561936 626992607 995696455 277913367 109522588 435185038 442879476 486961995 867702415 695526786 640302351 546975934 257105775 858319326 795864845 846064424 299425576 688624496 815778977 260344994 241665998 872967283 733679082 380367661 561161126 514920389 157216109 780860390 709113407 799689277 532638720 113843411 412788361 871904474 960355116 175631110 283035914 363549783 221099090 505972847 106176847 334328040 424203479 954281817 444249838 512261736 465055034 627703295 317654501 617465843 390657075 830968865 980537051 232757296 260501261 658094535 724208238 496995204 991515851 739534422 190737142 194650462 959954165 191260926 219139811 110013144 510254943 360622028 848817513 743727725 869198765 644515643 334079296 479217813 763698892 132939422 142481209 155480231 108934316 527144161 278026540 529874631 948091306 378398793 116903933 971885726 701220254 967225918 254687077 414041966 739492843 157433213 712492709 851036174 141170611 422935856 751074541 124452054 764571719 814466623 379585582 954775573 468853622 432074440 181853399 904412801 685732738 151745303 729192883 333979440 321249230 319224285 326208522 327153579 685349751 989928839 803048777 192305066 607892957 596429330 377725459 367713058 781879033 343134171 398811482 339950486 487348949 872865095 992959758 524491461 741517815 450252747 949183271 329985328 838118344 235584153 932014806 788751170 742013229 332352753 676139371 791025062 493016596 917332648 504303131 296679562 187442803 171212145 547177460 681485216 417850576 518626731 152812152 754188779 722462552 141564692 407259136 180190687 922312744 588594313 687250183 168761550 760335981 448190728 779927964 622420122 669750298 529670659 595940366 509717608 989540727 464901129 153914859 569427804 889872939 191539224 519341734 325550353 941500725 581988293 852268189 815740237 602199388 855937307 715369842 170730286 717879988 138503169 587831629 270086026 370175299 816355537 596463812 987524871 343794921 237922434 191360158 987047233 213167315 640300359 417597271 105468285 678277148 206143905 817100774 472515487 702456524 860986859 623574402 134586659 235623354 901056203 372370401 817964236 455605907 335810301 471284739 400253248 616246054 121938848 205372758 802489372 345718758 655138878 894447870 421823291 608216294 756223456 643385770 348274776 247273543 340632732 144850645 381299007 961144074 860952094 280127063 183139126 982292555 571686804 388022885 854372219 959362096 749935217 922082816 420624392 392891178 450109376 399320943 243870040 949716046 867644555 253503708 183796021 349331555 794715458 193475008 393799325 883069271 581640108 914871855 471947253 418225915 475642124 587072582 418965401 763462680 509912313 561232895 768836346 104995143 354031041 461060406 977485309 781989895 576488949 619134622 525497693 450083916 518278993 377847151 814802588 550606998 408224283 766149460 977651711 911644244 996873536 328575193 906307660 153225984 178618013 883919242 288314088 369620644 688992274 195412085 492767599 639448777 913338736 335918903 187219232 102222865 105271127 503182858 806620785 504557505 741356544 237777500 261182359 810385319 979379549 341884584 291781635 359507154 835784903 715267146 244129695 274095059 303173122 281877389 478733746 142977721 722854790 377087724 478020236 198112339 288368667 711818588 646019149 762232475 255870634 753366654 603204020 127258411 543100869 158408543 957220739 889693106 682171929 730033419 398643262 830834655 657908780 586948345 582037094 720817399 838409813 136644866 320192242 716566265 686335255 931263592 383036849 841191399 918685690 712438882 733058201 678917193 946363799 666410870 626059967 959396660 251686893 345699589 873819220 757494124 204857315 841000471 342028052 354745962 314366969 460812547 692522168 829214957 359389706 222265195 178904303 831948123 185731668 522247932 322912519 154949192 110701382 203803691 919902369 120626772 416649070 744454794 168271587 857863613 899935415 102063268 675473979 752220673 243360282 290522589 204217066 651049302 865802415 917657742 154689285 378323864 529893445 437746574 312884340 271083680 803994935 383477772 390311647 870680924 247652884 436301659 181465732 392841068 580169320 355054662 404385739 312316935 517730128 604802671 291646304 995546344 617542713 529888909 691162551 404038734 662880653 150451230 155367008 346977543 520848196 874134452 847795629 401224007 682900644 619142230 738856722 506656090 803483664 981655378 491004704 605583704 139207799 440588386 263935168 737339533 288182954 572096273 104458111 215923175 565735391 422816262 122847670 445382042 215703569 661236303 851140491 553248347 669290986 123585080 104274134 162217775 886637230 862551514 609452224 887603995 360117825 377563662 983063641 211438469 559669094 100828016 335110014 479557884 646594084 762481372 808577095 660777448 325711300 950075757 288666771 283077826 814683476 108899833 668472271 827233419 217168378 135254521 539206239 614373490 710813653 193928098 981940973 899866167 452999500 372222540 200608559 824333327 642193992 493790897 674373846 727318489 787752866 411740786 747517836 491958619 191439503 568290709 301779617 621200727 339025435 619304002 589494965 872307270 656857435 642435642 469301418 272514041 284953093 908627277 556567692 620035379 158656315 352391908 630132602 150056801 698551604 136731431 658415353 501945839 369773872 398370023 336216110 701197568 434197078 257797976 398839264 788377272 974309133 890209826 541524685 698113870 450819455 749341452 498317545 592462513 135938784 966079059 247634945 438523036 651043050 167214236 310457704 201435929 904439204 415019098 154785977 342048068 616640676 116725037 376947964 439603625 185809935 707357851 716998329 402541719 583857535 981161067 117368713 994291274 639321527 941923921 909488511 745154899 209501379 752033816 720973573 445952760 449070575 459670980 774702934 686877500 686857524 185239459 221176087 671039078 603240710 145987346 833551024 848135192 987129107 551182051 760962423 533098709 190469882 255009234 392860434 342187843 623499537 630447672 762040188 500961584 150983531 480436022 867077514 377370541 768051594 438302736 860755190 655974798 787909492 293068726 757956403 994715849 182352698 722560815 338523694 162343684 795461975 973831868 476987181 723016179 395726370 884396989 787214241 259990905 943114931 365576415 473656180 342222517 176849194 132151363 466963700 110727362 270872723 725128744 571720050 509142434 444903691 944865152 359231487 606992048 764749395 698533922 118095565 925442489 102114331 964453814 945014260 943210002 273932959 935406100 906634484 700293962 134068637 263369185 606263338 939298924 924518213 608028541 156482038 295122015 940667481 263461046 106316974 672504279 839854332 495629359 725607129 737255326 547847390 760378812 358657659 731630223 182190279 911918588 575257450 926312952 249390031 140214423 202576793 529643302 899918601 939022544 475499540 792306906 462488248 883814537 915859121 814129717 121089902 130720689 869265630 194849325 258483821 667872090 568252391 393374748 993123990 225013121 715667784 361724306 975520445 509899124 110701257 613272393 660841214 792725088 272164256 659643122 703952446 213342048 204891958 350649996 282667979 991314478 377148591 659566046 151557548 508034741 403832799 329222221 963035141 235418496 566933970 353354818 796205587 882262443 260876084 820960014 261075586 457334608 673478278 911125526 776612576 816702523 690702951 324007967 301301561 504827651 154452546 689602719 475617226 751295154 855592758 668677988 359365791 597606605 420073389 341508084 321973015 520645052 445443455 572866147 884895518 928689321 257149261 439460491 728294785 385077691 368401739 815474947 255250835 997684022 209478529 622712865 623117365 332486584 778961057 869867107 282294406 517127720 705887871 646275805 319697194 868002182 319398357 635887271 152926665 493083247 222789193 761233649 920224990 273607912 440511418 253243161 160675139 845904561 619362487 189125369 777322860 889281284 469850130 651127896 626944613 433779012 448444004 691809129 222939750 284821502 219937271 110639726 997134835 588205116 173262101 501285785 690869706 956010534 310729594 763437475 938849357 557808224 671999455 675664889 208082652 215971443 245267058 909423190 455042924 254958760 671259765 288521055 351300205 447900237 347530852 227710921 595040201 246064077 116406919 547616243 809071770 888798761 133333186 503109057 889470006 514645447 997678415 185735809 216745123 153434797 389510432 623878562 405289257 364615187 724206423 343053921 792143653 523732892 924554856 100802877 999922901 144217236 888165348 799045867 252585816 576068544 719736923 210681925 844526904 422690292 693603939 703809008 765396831 498312761 551263831 348788704 898610291 631892469 741449476 883963755 733981039 840051043 140821120 535985393 364857565 746832279 984455559 425468365 148996938 523064509 985261585 834824032 772860898 485524621 641247941 255471073 645108274 907725694 815477454 495559150 843067312 600636682 793610154 798290604 902291846 386687517 100617832 313517194 298023859 166128298 998425866 700429312 784259768 961982525 862535589 971355412 346514068 807390687 671514616 348512565 540777327 679466436 960717489 237761149 262723694 104399339 440507859 877059465 506668428 198255474 561052142 323942829 727171312 979963718 654270258 422829788 738993863 579030003 585220561 330205432 196476507 351426460 740675696 545681736 372911089 471608460 834559791 262128553 860071085 521850327 454732375 361650095 564388811 603893610 154916114 690227087 972503030 361172139 308661199 242027948 453521022 506796933 614073388 850187876 599358748 162180173 955614298 172155586 978475966 635135041 144510648 501054927 163706312 700560381 322577767 214415421 114113762 993337130 804091414 932820541 435758303 303693922 716939528 613749339 591496437 365592288 129293166 159600272 931933142 978164380 220296842 538623011 858174647 923697323 752418466 423399136 185617076 634228314 163493614 147982050 998299924 308204754 953178946 430474063 221148640 133047570 545353831 533930499 730605664 411186712 575061119 707593898 262737462 461609411 119924270 175799351 521956597 760997148 901579910 440114195 775059175 413138824 991584990 542615173 411956847 554724415 222524041 356382264 771345799 698786183 796720619 644955930 466956331 402939310 829069055 268383732 268337033 606799521 721249478 602652974 855869115 629875078 336785268 882801801 862793083 418663920 781328252 712248458 733946386 954109035 719762088 964804384 365297825 274788498 725292594 621178713 179667053 284574138 154327613 368480375 394491972 332640347 321103880 439511243 835166144 963726388 233165694 412587944 710858030 386876447 166361291 848211846 713261289 731854972 840210395 540117537 453284449 797127407 445182305 996309721 522223705 520954747 653245586 997548998 143535722 852794464 167541129 527008778 343490750 288624118 123180259 964240938 126439618 301064348 684767629 174713883 163389298 465305862 740741743 391138573 404604698 928289991 446965093 968336936 725986773 934474166 740937829 910115999 616153047 713586152 783938511 508840763 562251678 831052192 374879927 859665039 739195019 753096108 729138383 470380832 693330262 442184584 779437310 956470992 320200254 128634538 327357032 713061507 325192525 393172047 168411498 998455028 779424975 120320662 644801870 842815897 253211779 945808084 749855726 629217619 800409974 281242205 191514443 807529136 589546151 132580721 463813363 218917089 805611330 475244146 135025314 290858745 664959983 114776097 309644857 564308640 877307243 650040050 614908802 496092530 702560858 955571765 892572965 285853056 717501099 780211683 462794950 335610273 966287650 281208876 798295384 842428474 993897890 999168458 193112461 802088498 693968930 816370480 322395930 562233625 389213634 661566482 645580421 749457642 172897018 218539067 730075748 515321709 308826259 480871205 556466866 235590958 130352842 427475078 452876950 887948405 134358594 868393236 315848874 849075038 533712256 712902792 766531584 726535155 250914546 893766681 665705688 617308205 943742916 603827261 989826194 472649478 266803571 564106392 540946159 503483337 478824733 942046914 714965323 402868679 851096830 882801375 964942242 314659613 128465029 502108794 882636129 745759550 751863594 736056212 986167423 180331367 336512106 248134304 805922715 213424595 357040667 118913740 123519482 774008433 988985032 581075000 582737949 626880932 215561071 339531655 148191738 669602003 215977361 960355264 513309593 307601945 282551481 680872323 809307073 222739436 840805579 885703173 470031625 787744926 309777474 778359934 426118755 536327587 584602554 382316297 565509766 398907053 410643370 179943835 947757118 989696411 962836010 956612320 206568772 628830532 533224674 400148884 762769869 250630706 348601204 493629271 847630956 209883767 290610095 705413883 161182099 332622242 165180560 916451495 697861256 698272094 742683826 440918510 891044924 911168502 855754058 989517799 623019305 400538666 292287866 481089930 286453140 275445397 437797581 726476999 610419122 824637987 130228837 437905846 469920606 438142519 254498181 606678497 469934983 154682552 385744544 827181947 911729673 568043955 692616959 190278752 475276094 752911695 564378693 203653703 668493111 274810240 679477949 397324392 123905568 208706950 423078193 302170768 828013526 630692481 275986791 473788211 834475575 441567096 292900455 451345311 603734747 601650400 612781919 478896827 709700153 567818958 907631136 783354288 560126917 219855966 616768739 118582984 156572152 849299977 272338762 294969011 366456995 996886525 547276336 295600058 475123636 394054211 325106556 496808288 802172108 750631861 781266204 990096507 810236369 746072832 179049476 970433101 464628036 345469040 245333910 897517468 991851162 904660979 178274359 643313693 895157720 510863859 312298965 231872278 445862048 458733433 979406846 541576143 866568979 772633320 976746436 822516062 162838121 533748905 141389128 603240527 135777583 308946381 130093615 169067623 952125950 276552492 782367978 387718921 285438113 387107097 182051082 743099873 128141671 329517069 779066153 366042597 742598501 976420397 833494212 914997594 626658331 850796063 284134165 983395328 728741728 815693134 641235083 354384522 624164154 939865599 989425952 390211096 941683670 587709335 861635743 285292606 985638570 400587061 765627436 502192180 119805538 154740103 694991057 111124267 383597981 164680634 443167734 377872996 957324514 366771403 628324536 749671019 427009715 865533732 384990027 397392519 564840636 232088556 521876794 603654077 684181183 645699442 102370634 748377492 141585344 627165225 609066820 605347929 266017744 306981798 935869444 186497502 864456262 276493849 232597736 199335301 897371794 547414126 788278069 590821961 965590846 146676524 973013087 295719210 466560219 461343620 828295084 785037977 544051595 847950748 521047076 258344302 842844141 601993653 785344774 771878415 252630809 198270919 330670197 432856563 664236816 858800611 691598045 131516782 189845165 612420017 751468885 389801137 343325446 376615847 711393388 804679377 577341609 717159706 435419586 619606592 366630372 520798158 101474443 613896613 225942393 215268623 624815319 842534225 678248188 169866083 617072212 178036977 604399295 787355977 545443411 504898860 187956604 996198302 910413554 924099013 191531722 215861500 457615275 521984710 286562539 519028068 976209215 455988599 884676471 811998601 116920841 387854550 947298670 567611978 671651750 838835642 461524006 971714953 844692993 416161817 887796603 808074361 273996357 172250513 177840963 438440117 896020049 139728642 705112618 901898040 639121582 339691227 906828476 889488519 871555865 835644201 543286929 974931605 881513780 836058042 328039731 833048656 646439368 362891205 843241719 960399591 165383556 466500277 265847432 501926887 635518393 927026482 690362462 804347383 240876796 982065665 723457270 894079067 541214009 457621402 415648681 951695664 960132955 278980935 918504636 924909087 661412892 263209412 661294340 146747282 341279148 742596860 360937796 914956873 106776883 196498040 984193044 363145397 814187476 965630232 976048801 865511792 467849984 459435731 688690431 599081986 148802175 806521181 290901688 180698213 228979354 763891409 337497499 364013312 102529303 239570506 357538995 408727434 442509776 450273218 809678212 595768168 359190413 114825516 634779197 918223367 221332035 790780115 670870965 660671590 339758153 665284488 263104807 888496596 817134795 473387740 495242091 690685170 967612205 899070192 207624625 374674056 261512832 566187097 579516846 862846823 957587506 765439539 522271048 190072544 246144065 121601830 159393372 101521345 165720633 932783528 518225612 346619911 960652454 147421378 942994297 297709355 273084686 684939225 751472884 542585923 886500905 142803210 915554288 498429361 126856195 334775652 324774837 767088136 419366538 504426573 881250535 498226173 492599795 742302888 927274010 725815173 674994027 658188606 180649617 777789575 496966500 523723668 967660005 324427129 792299502 438370900 973062876 853279382 273038828 843127406 810688369 622239554 827324648 417116947 763570145 393407085 371362075 855249135 560166492 587169128 541997966 246060810 408472614 864971576 455229724 865203017 356631832 268576619 862929242 108630753 669595484 839283978 969706755 286655331 958603908 657944857 422701353 261655419 393285860 224708039 226464642 898427852 423153063 298318116 332176254 753750780 177194523 944287248 406632241 512162627 799235602 869801290 368183357 846554803 905668781 939077764 934904835 980786423 140353450 478296180 902598634 815407158 834543348 703393291 888854719 381262919 411572793 609697483 488105134 440737302 751755614 522210779 990827176 307328848 731441599 305674859 292993691 925448411 587881759 102149699 916052266 624253600 277919361 971179329 750316811 655541909 480312600 680546236 291609935 227454253 361529694 487354566 304792160 573927151 752023728 824659453 318309726 268749883 381275462 635085536 359200185 300529985 350643981 354011381 432285597 212889279 326669717 666156199 954071413 974780533 470317016 160613417 362849098 410322489 746005933 605671707 847528401 313359690 234866686 823649443 701078583 989184050 755533392 713244425 196558830 402622812 893720943 142270124 929873880 656188976 162266516 788411300 877436649 448903286 482594736 723303040 150489227 976612967 513653283 445548350 803229596 198272355 177878134 131331882 837944923 362161616 183762843 538689649 722507479 195886527 626998445 594511754 611028089 885702672 994767258 494323228 691459539 476762140 440364383 608675842 145808589 723371229 547600102 478935000 817009374 717397833 543684258 612541886 378667196 710924285 301554757 288644138 391053829 257892535 179873879 706498941 217724039 327951819 928056961 133166968 831965769 332510353 458565061 587001749 416197856 663914689 626645768 379975277 146974515 628809661 372133161 216225469 530767520 769533886 351481860 907822900 659536808 347036847 267158951 666512496 177080527 140889348 748185140 927342441 363528575 247328060 752537136 332343335 980864752 382813687 761441666 288172348 429219609 172997457 203632148 390827500 734787281 829162704 259446110 462434946 357264685 621398208 887230693 913340253 611844609 501050780 238829488 402969594 316132645 601122508 810029823 178899619 761351829 292123484 273436301 123025905 144468506 460035536 342529766 511968297 912226350 796756666 909283128 104040105 482571106 671335323 298661287 363499219 466018277 472710424 234415956 749195537 932611309 637552051 916726654 618329337 552753858 172678668 312346330 830333666 157893398 121954559 149956918 135818244 955206813 224971192 420681904 259212860 296070031 957516920 702127119 789737213 243741467 385825687 661321928 879096782 490333479 947219327 455779950 299511928 519277948 226587139 839165640 994006800 387172063 860315399 226454044 203466206 283117048 862150331 764490963 113212958 952718771 866135187 194352422 580353129 691739080 254987552 206264422 859120891 274178234 391627532 449691030 748631623 414111766 955612970 514165769 568556639 220867576 686895059 697160359 899276260 694189635 472142517 847201991 595273055 670371791 919161057 986861544 419972688 226900262 887737258 480097801 824275129 186083217 813992394 139281618 173842023 881599172 611555496 768452960 731400354 915625960 600293532 234224854 948516783 482159057 658639911 975851613 682450811 824530735 472170577 524474919 266119689 167116227 630945767 708811998 154591939 833702023 752519945 110211594 803473413 524390696 763438152 537947545 176914852 817260913 849076193 557986255 377514176 336767868 475366696 829373369 824927768 355095820 399274275 586983610 197609876 840777713 390196829 417578081 193369987 534177856 795907962 193985647 469458392 547170739 977170587 981356947 604146224 373379694 690665908 354558647 980705715 474151914 994132591 499015890 631933617 392686925 447800550 162163197 605986329 806548146 349858775 712944093 958615472 276027760 535240433 439908907 646831621 546209646 553035756 518601328 715365796 332542124 754604054 311988871 104191837 773610766 884679845 992991689 332768117 474261326 930266873 617509606 892449899 869749390 663243965 517006317 662630316 114248449 510469219 450154062 400038364 818437440 596418005 559511059 764238240 658503035 973229877 643490031 560171405 392461283 924593312 454022124 857436755 915883106 338369059 895155934 222852660 959029116 424761294 261690808 392374518 213719967 820722969 746759303 435540168 179312406 225238124 102915171 413010679 607279539 331612572 956955887 539775574 305157258 425919911 679838204 726280930 486337305 348999561 261936681 333476201 916894897 117000197 279217156 136555550 593187733 212616151 537261538 929503988 421251003 394561322 960170445 383697597 211040969 869362843 605234082 595411410 477576288 652952584 752663423 176396615 438076369 354974427 204411625 909240248 388164801 513729083 628278136 369333239 750019633 842109523 585657953 355476529 503361932 800112753 307910110 857521096 274632547 283979596 455628883 557632581 260650570 993864102 105444440 901501817 427369299 132841912 445572589 110618643 539816191 671980854 694185933 436259316 752045112 979526726 223258127 343699832 313644916 427017124 116428935 487522532 382100468 372842899 676035927 645603127 933914449 692921260 226072980 634471830 101330337 124266868 543109284 126062683 359474148 188826358 774522147 580779069 427548407 467228793 611224553 409313450 838211483 497487340 874352656 434314287 936162175 221068460 369989027 132242000 711961249 870308112 713846046 153563963 947310713 797798453 512729339 721148697 136129751 524986440 305675003 204863670 804421856 340683263 767232080 971859560 516517422 795368626 538909547 881877979 462214896 384202029 503720162 201205156 886555516 904269529 710364383 146655479 476149850 339895719 759793871 292227207 509210885 470534029 232229052 752876612 491944767 181996445 593557071 612675547 703799858 996027488 776321454 455666623 396040685 879204279 464823606 116757647 580951418 541707455 910198541 589026971 577686290 694901247 280538004 615239819 253718980 338059940 460750090 721582002 415805199 990057000 547743151 657888696 424658977 818373239 360259466 980190496 906815200 859170139 167053085 629597944 515162946 812921252 402947889 534965052 237267813 464953374 801998497 691900045 625781445 409107314 295425134 935797301 600433383 797145867 727057754 433823930 719904994 736264797 828713785 849596483 200656967 508241479 160901706 123763075 889326948 762168776 414038444 294242444 522002228 124828231 485054686 802332692 947833876 554771878 490032879 404941849 210168225 142005877 202527724 475927139 877743433 580517229 904353281 984975192 649246199 273542987 550221128 314579554 294042101 283080466 453290126 617056141 166288165 863760568 430389229 625979428 839497475 240780797 820771762 845405086 201207204 641912799 994546899 595176712 269494411 662991592 920133649 111216181 867892832 137827217 360911499 880656984 195069351 311868336 586603597 374604589 380547739 349236076 859724267 375720843 523542421 499686469 489429082 326947120 892884125 837819654 854039320 969766038 481422798 667788853 280098673 660928369 822130199 500112667 817415117 741845526 233419139 585413773 710426749 400526643 849731256 579016352 923075251 317413955 669465492 273776459 229974847 347083319 476598959 897800081 796979702 836460106 276770462 398913029 556889032 800307125 702517430 721548549 589678218 268100137 701551846 620153028 863601244 422268898 192955171 575401246 608540426 456826305 775400960 706707480 677609795 316856566 886645605 319312483 966491759 524173355 326763233 894544766 398398389 569593406 806636869 376481597 667838394 748881262 818298545 950619944 351343402 474391737 551203126 301032175 778347920 685515330 537751151 248405481 888576311 470434861 992393831 150191303 989432148 813178877 675151111 107239242 381245376 170269978 770579994 154989088 894073901 534644589 521110100 439849818 996133763 278744252 668959413 682869964 102196838 932110648 285239837 562353399 228574787 123124820 309184167 873991948 451857307 650385229 188428914 991300851 540430170 806577545 111783237 990725443 617214301 587538341 428410512 715896613 118132810 290774400 792568254 264029112 309613473 818934498 371675213 636716467 239849028 396696476 744752668 962219373 692101215 119737485 250437513 155992814 398859439 540992442 413074357 459630605 620327405 263053025 541493394 215001495 551832646 932637281 421019440 909493394 235634469 896129882 301415727 559333438 795122071 247555946 869404100 634760398 417532374 848800389 974316160 761789420 715029135 787073073 142830744 355633928 812672210 173781793 271256554 471991813 942981664 739809623 818979398 692428240 198393458 539137108 260591623 316936245 865822336 459622702 659601759 253037308 133635440 508372577 523867374 949672965 723834942 472196976 242967066 451904647 373085823 619285600 927393299 731935904 759701061 811793810 474042715 586433205 571000820 314361705 871423852 557293042 862803829 859679172 281005934 891276565 134214410 254890443 641609025 994078827 513059322 414230279 297084821 359363777 181615348 278964561 350429639 950752601 106298883 878736922 948778367 391885242 942201274 479469802 490731864 667703091 675897206 797401206 453749994 780419247 701083911 574272453 919666856 291700827 949608693 726699321 585776298 497466259 496139541 153276382 558574398 580833020 368695154 672259690 529881789 514350315 922950087 980891444 966895468 591439457 878515374 562829464 553310306 751515572 466053523 323558910 325808161 391331153 172669975 688441611 441730540 968165973 986830234 926375493 800662534 275347100 178860735 116627323 942582356 448127710 487346058 155202144 760493263 375524884 108668998 990801167 397247735 258381398 954444756 379397154 308570392 138487207 858863953 612464175 294624079 506453867 908837360 362246454 432579980 261871171 833740686 259157619 990776338 398252615 753066349 379264878 956867670 292293866 519635875 623001920 490359027 559485298 837565875 305928354 288159664 203047198 737960755 246001966 655951192 983842339 801555395 311489294 417313192 400135611 149408058 391299331 766176120 850029002 545649485 856442847 881508742 916635834 799295922 354049224 809106119 226832689 835837871 679842252 541670045 925540361 283262693 730522945 726619903 848446535 970849429 915772547 473744031 142931074 348788568 584935658 398535718 928935398 126758492 340505392 842820753 878010815 116119333 635388499 987724209 849317651 567200346 461195015 681511372 988841532 368139172 947991947 479492824 721151412 349354911 266720690 974737473 996565034 921861017 723507520 787266369 924719203 361991441 280906267 959883170 351279831 213184099 786630784 328817165 567862752 917215817 969367308 262062070 625457930 361467105 760573827 843390557 333194108 445985829 676791992 967691649 943676957 371699959 801968182 864692513 427359810 142020924 999165800 523885328 409425899 364639525 218559106 196102953 661624513 151589969 758184465 456628772 272163101 135807914 258552910 537882736 875549426 518656866 928098255 325929558 139675571 215533841 838256069 321922763 944577294 233688197 246564440 740575725 184677213 503726702 762343934 513375058 954727045 837765718 944248625 180583852 451143914 199335360 169094048 300831968 299105388 670275056 152991834 133472506 742928046 736808747 225928186 323402722 220104443 726175057 154880110 726721944 452999205 184167317 872142731 993538675 317212595 516833469 726219718 976074649 327399064 800531111 549451433 752034317 533738493 209450612 531299686 956896381 319879473 376736092 778705522 396202756 824954442 156145466 840192307 896774763 127625653 961999531 415405466 634984419 100102029 249930441 545210120 673888753 817347948 331133719 639991692 213334360 693792986 563039544 330488596 593336750 743778522 512467248 942216643 768033480 963455093 242432629 501931572 981943201 984704721 595250674 174668097 386372435 961199605 775865994 882997367 124429092 331661146 182394182 610253961 238052008 494780244 938797166 552739645 727010492 732638240 600380035 705560883 129949241 623697419 619312943 360996089 358053432 825713242 460591773 893107975 501066346 687087241 367536432 241984448 493457671 854391113 574786264 305754666 580513918 143752711 269223959 312828153 365799477 680963541 974536782 403479717 194124663 936900537 872154960 109337680 849411440 324673408 375678641 100264173 611859419 748538015 122242235 823016703 327525701 435655380 787186438 830140114 678253268 299441860 763777118 321034353 376036279 758138298 126570456 223151406 648664044 542921030 318320040 224123299 535297369 614127543 777398996 785120877 797908869 333575861 450109495 379432665 351654137 523579655 586965842 202269771 675347914 816199140 206010804 315361777 619467227 536821760 354680853 895506379 933044164 904222205 953448171 629443468 339176024 610154683 938296081 475520184 138942339 907754819 973097001 873228797 173537190 697637793 290938739 926386136 986669707 663944371 779103472 806818936 614507041 609121682 585910304 578898018 919383513 366357152 509458921 509627587 433387232 210082295 125645007 965435192 986811397 415339145 149312905 387223266 914437079 554608976 986205950 661296658 755907667 883903834 318629160 914293233 291689357 150207855 323281584 665846935 117656913 942160560 373449583 832567016 958428278 845701031 393338992 358408887 691574482 855787470 896916447 464420508 245005987 595438131 392257682 260106080 754655520 302942995 972200943 304346971 532277612 184190142 402761847 862434966 117733872 868379708 969252320 793851183 371417546 345561377 911787935 715186652 389021477 612037100 209021836 722425472 843647945 339737982 760056883 203044924 105571606 623304581 860958431 561965752 988479094 785226421 604070525 853413305 539718586 136199036 512194711 787656484 497561093 147829128 324783969 807596964 481440218 960363224 435027496 800713505 463865278 962760338 131075832 852049524 801040503 241811631 267527364 971212465 819072141 381980791 537158243 295467977 227601633 758883590 251025035 153354518 191523545 442336284 993169989 272843870 684733170 471581856 748880948 522885062 654746307 276569726 295245802 840399645 168668211 851644544 810488747 503190082 836888417 913046681 973754406 696696646 424329040 912553329 156870145 120878422 671688780 119259480 184518413 806841487 871361789 956256624 716887698 220765166 210346778 679518023 156198134 697973178 588844198 481278979 938526468 108728642 326164843 768881267 481943539 551205568 153305390 561506635 389954089 311700563 216304274 409475684 473616860 823084375 382298851 930028665 643733379 625738987 222290521 732849764 819771692 246414241 515575197 549360947 855820501 978519049 640712258 270565506 138427180 177818849 505278068 231070394 969630684 642698673 193511795 505638340 433547699 393419170 257093341 696619847 925251345 163391827 609440465 181037140 757280741 207225434 701617083 594457046 407692267 585707873 196590813 997406905 667890508 493547980 531459337 419291589 116208927 642989420 966486755 185057251 645250316 617270108 525213717 280814119 227969695 863357493 807828362 891242179 245944599 476118594 995687756 233121072 720449336 100196248 885542611 914747505 652210737 332785717 752402516 318235011 728053118 686671048 846559260 860155360 816398578 369809663 114177030 190038897 775266884 534482999 525339493 111605072 855349442 616573292 157975927 149882628 184722738 790051061 317112641 701174316 812529030 888937514 288638347 685847508 370655450 147967558 621078049 847639388 536879044 496905526 574246930 167773804 140720645 870949397 911444811 629193173 663370685 976758020 401065203 480708114 446198268 459591975 925092327 575873021 149562302 910089170 196354949 337429854 830494302 347291691 414285716 670790029 619539426 612450117 898138008 522612919 938894199 817147123 263421399 491100551 498012193 920003361 283837415 388911305 137003848 839312597 749580815 726791839 828831359 734009416 951134768 306039722 690793547 225419176 559441196 516153971 606673901 866996686 287083792 729336467 579364425 514206800 745021015 804888518 247126517 627605407 449794366 419823176 903767635 840712921 130038159 645272430 379925685 325607893 682426290 674838364 283253502 448561549 659872771 950159462 507061128 239433429 258616077 972720851 438934938 306383065 853776326 838241536 222944458 989339711 458551205 683175857 875369588 799697622 576666952 607593745 630662099 218324953 393887475 688818786 271312967 319413959 499711506 204460848 148006085 436266184 351808608 643739181 689122381 413891647 508543240 288685945 558590600 541344610 544901913 220239345 598537963 307389583 842121911 417749589 743955508 126349015 692481519 774694849 544225070 406958648 350644435 374825641 687320626 899964965 128419557 979162486 166377965 925316024 744299824 395495532 696958265 857205810 654758519 139291575 526000189 201891402 527789114 424241582 425276899 501452571 535239956 855178647 649067359 406576662 688519006 237131542 928329165 155390047 253925826 631250041 660270408 965675021 646686199 907602912 902202127 894749648 422865534 827390809 358473631 372549032 930378323 887447296 883265519 808297761 412078488 205652337 852634438 673993101 342499088 494542344 232812057 294118656 494113418 339367101 869331272 935862400 244660100 861633762 433454123 443580131 593963800 875910834 340831105 503099210 122890702 900961440 688662857 220697840 945806597 532859941 187652335 360765055 152575959 964113451 266010742 118609716 853057983 894093274 563412220 707289997 713102249 554711334 173602352 252306543 873217165 955194809 635204155 219859412 302194490 349626772 625325023 949692802 918853468 732278911 942634106 620816548 282616488 811136987 266650989 172914807 241008664 272371384 192638676 369569315 990272080 351111309 193593277 472264509 319166130 670183665 305817036 415201115 570449602 799512050 608074138 850538225 379035449 599521875 352902564 688620113 756221294 644006206 251448518 973331908 738099480 952290582 128628279 296467053 642077305 191778823 559468789 205485310 188805025 168230599 725915971 587606315 630795861 846200566 268987399 714261376 603341917 288229207 902820786 648883836 485350724 221877979 888740066 703549384 651840012 826209405 826062911 742064014 198682211 243365403 453437159 785929133 618432694 505112408 317902961 939931239 129433569 870848449 972557192 541481758 241841063 456053758 267862051 513602936 394823629 673441705 536808566 638220109 897501329 485734024 470268534 859362932 688007776 242079935 322246823 985300065 609207335 164365570 323143147 819384843 582203945 954337248 874418181 737278739 259042833 919315447 583907246 319112412 256594477 172461325 886328339 819179427 122134743 439530127 465896227 767225089 303670135 842988397 174561172 596786122 501936072 478696678 114456370 650894254 599945501 724746794 680720917 461379106 690514016 277177286 208822671 863827251 296114641 691760459 793282758 327622488 181235930 726027597 862105999 958385003 801309977 594135009 717097511 829605832 722695458 104448416 459406745 540896792 999303754 725825635 828928818 366965579 734460404 582061454 430587885 592317789 141378970 898416300 514969214 114150586 833404794 893774507 978830078 967656619 825181541 480245451 548395472 773096991 568365963 628649077 721833062 562376012 872360777 738446378 384402721 420116597 335229648 134300562 696111883 528886301 657004195 208080532 244628706 339573895 287481910 840315389 414247601 525054910 261663688 551599253 270031717 472503234 815256062 776924762 593343908 408318902 481857570 380329897 369565371 727042640 997377983 552938839 576701774 219518110 639699219 274256427 452908878 910988270 650933925 238580475 115101720 579474587 691759485 673170850 546445188 770198975 528285484 918048074 569196639 626412536 816018184 828269831 357017367 881188185 967527879 981640385 205163677 837502257 266598379 812553102 532301097 100084533 384875528 936511472 147118991 970776066 937245933 473849103 381497906 816846828 264616543 440569250 670510141 734555767 772924524 831678483 481979725 167923480 486649750 773986333 980064372 436984987 783907856 441405584 818158177 343288834 351353377 646556697 523755770 594134194 301212004 395578341 607257746 291578880 386189313 401432145 301717590 513549235 628331724 705554898 968681090 915965269 163845707 993190821 933207534 438367949 139857755 741104631 168482901 115642926 487704981 692641423 288745281 523132417 129189537 317701788 383197510 790007486 142520250 264882844 381829403 358519018 219444212 188496714 558683316 722414361 415455363 228964782 262509838 361535139 387914502 541419673 378427005 331779845 805906656 538080810 921084893 219356177 527470872 408202061 718926875 211115882 960506086 399054266 376429801 229995105 301773190 675433575 476329903 365774557 856561521 778534492 992725797 160651668 446448272 861146588 624887543 304065184 615967357 176735146 919953794 342396688 325758651 463823312 728213227 843275050 129458484 130027706 509232549 600804633 226433629 358331134 967082536 151604215 715081833 786136183 334142736 481955364 166367669 147836896 183757828 270870836 235737873 878177856 630989192 228596223 531632817 210428174 717414574 874146964 225244366 403079872 387707532 900265107 364068140 900967110 772591731 826166125 760961250 548746486 106344375 666076932 478876698 521590867 407587016 278852938 619609029 450747513 562626744 719351149 413481595 937386504 777730490 303520500 495461822 413186753 218472381 572739260 910655803 693393167 417058833 942584419 185295464 629199152 443684817 796538508 268353627 212635357 815301080 715235146 625130235 309324726 772683737 732816806 374651163 147818742 789622038 956320058 272356976 851683493 828132037 903244443 879206766 634870437 403882024 415333302 832137113 487479648 312972292 266365459 263086520 759106336 616053876 581047149 768528865 601112414 420110344 837144099 752983629 197764676 463738645 883120181 178527443 993023997 978635059 127428089 215211107 983858915 577139689 780030524 231289080 112802107 268535126 224970466 189968095 755438527 594379150 159156535 786305030 562066314 196713191 317844704 796154400 634439935 789650942 735745113 333006132 728504200 278978645 159818021 762073938 521669824 229804813 658836894 438245344 311982702 885063132 707423790 549453175 932753327 727415216 121779682 127793503 745708951 109969916 282611176 395126959 624780978 495216267 946894906 872194025 759847228 875397101 865202738 339918179 261694241 673985668 650613454 375094260 776571318 351432848 158989872 809541523 189110305 542589009 753486100 122809268 107066708 222821233 688932815 882544132 726703444 619452529 798800337 194760242 788562930 566711193 907221990 332588197 236832237 942886962 158580722 319909464 917761085 221420047 600636201 877234305 463911722 407011491 815785840 580413403 682737037 395747772 996746185 124692924 545526909 351115267 539993599 908025544 442419034 111093921 255907138 544711195 820387263 917887757 584868579 230334101 576056349 950871641 312939173 553715727 270594716 313810789 470346918 656934367 195414344 878304589 141022817 856302417 752650725 100607425 648516766 793587932 252804712 963773589 268802348 175600634 623043413 228065899 904806997 493873161 555638411 746943134 344612340 588047955 469779479 579263069 143916179 608892791 122788764 549399980 357709309 859846366 273033637 143267298 376694008 293335330 429606433 611603798 283458405 164825058 867687211 705849281 702496289 730035561 238136545 678423007 894886361 999243972 450189149 353598790 702821398 239772185 520930170 608203453 136910922 820380521 428123526 893421715 655031980 859171787 967257801 176417345 340691905 193079541 758846408 280958591 714156637 457143171 512314138 437870592 911444916 951515520 827804630 280156783 814269605 998800010 153041113 907802672 108394391 117851894 369561192 974502926 559053916 468705231 529131654 239098570 232786074 772702906 767391089 620050154 910872752 867078382 295566730 619193437 125382213 881753470 828237026 310769074 887123345 820646245 553004041 917347913 829470883 607945276 974048461 527329204 400585007 454673860 595866094 141497792 421162104 715585445 914695645 702288079 358870382 849781103 316360374 278372150 862176431 738425292 687872375 168433404 141462033 446882470 898612058 409887502 680030034 529234016 407772845 170273326 391431053 999716397 868583689 612408069 313390777 785844843 953367366 915845285 128774451 865222525 158975405 677146640 224011352 374661995 351313971 861925529 385337709 975568708 758411313 903018605 678833228 705885224 430673277 694084907 520011384 323074039 611615460 740879347 762402219 681145722 948000721 811583252 145666435 616156970 878287955 327914984 157825388 861475417 347595331 444134466 814550397 840775425 550568167 614577816 967345869 654315883 306100775 139960055 687695751 469896301 700131319 900228438 595838708 499219889 826841074 239720102 899439661 677493478 883000807 583428709 905146453 359105647 565883161 883249300 262432464 744323989 630061741 998756727 462119542 403705701 705940009 349914471 163670029 921652849 293864186 908258858 637360139 439742590 678202765 429697853 895447479 910928669 582013512 148725668 270877760 600363006 737025996 956323607 655424080 663009340 157319119 755711043 224614235 693451666 348550243 360085638 491993391 642452186 722233894 480983731 930169910 460892065 675444752 884424876 420508078 679440777 391562269 350165535 821088077 655185273 506688806 780521082 571383316 315282729 692457023 209641447 570472671 631004495 184683070 810795183 209023935 865774210 796453527 492629702 578306605 802342748 630659965 937891312 869203473 835707703 319385594 255165689 637354955 914960316 527341188 901561804 645398888 461955222 227680739 231569632 246557209 621364975 200655204 307819382 174895332 986717152 286951016 162584534 589380666 808336437 528684455 876748607 772386677 809186446 336178125 826294827 353117388 674464944 379221873 405537930 563287728 401394016 951515762 709842044 729537026 602034911 392893359 363931767 727531388 188004443 337120513 796815066 288547911 981763912 528440607 223653501 145547233 356056642 954329485 996864319 525997142 274684793 335303057 951496826 213257317 158785406 240313700 777867724 117019983 410148184 822764404 622591860 919011725 605884537 382336869 356146845 998954645 706056173 274679602 297860460 604553683 201969815 382270010 851225766 145179112 682564210 946905558 647889357 367214282 203892300 106485250 699889231 589032765 639260314 613218217 112348093 873520122 565371790 918127993 645826973 187906012 801794077 232372991 283237842 593642399 120850511 644395542 553422280 611142662 637146981 576201425 527741503 121588123 112759351 460174884 328500020 983624429 589215173 993401917 521009023 939686507 313325832 677575532 381717368 530654182 253533528 541684854 389399816 644975986 348946303 790934507 922250121 741457621 698953690 918660300 819989950 479090073 139613891 926396142 826598046 662971908 671771546 963941364 295788835 613229254 663935593 729542073 534573553 616625809 222934377 399128567 847818734 919823782 556615226 587746678 936711969 525243062 326719035 852834378 977643377 942939145 427934435 811770978 771740604 893981192 822881239 727929893 495810610 108323623 637189717 164130055 312384603 160345321 412827999 138059251 947915105 218367573 363706778 685712425 177883548 455243224 319160622 641942231 869172471 980438596 615721862 393115711 984392721 245552992 440963281 805963931 347741459 748265497 131741985 366500909 104693255 124175211 199514267 635261452 912449999 185998526 982808837 663853961 699061578 232423124 135665605 531679891 992642670 174630578 472530544 800107857 695379085 941553837 363328791 450473478 173482861 942965103 190711032 258834244 695413389 511621665 515676033 805138331 815116688 828621368 540072686 205935133 367866034 433931791 239425110 967417380 335992162 747953629 643675277 660645185 557223486 224865966 400128455 552496138 172233254 410698012 375744450 292449455 945555347 955281587 552354662 137909777 666166582 961854836 285374877 786184678 306047015 953409041 773593626 246314913 296472217 242528359 618790542 640698090 284694766 252251892 961938213 433157824 824122686 304282292 577008725 295659863 152026911 274901498 484129569 118111257 601495557 815130469 774999829 683024576 351563035 402305049 413732253 601805035 391193232 716158361 682682128 661960466 662016194 487151272 885983178 187650242 617240685 761834677 970405940 621398278 514842896 277019073 317344118 350354275 903625919 852709063 904708714 703958312 944466212 800637874 318579954 739904527 854362428 837646991 270231491 535811757 823613112 779024497 920199727 963721070 512175550 296675509 631226765 594524668 788786957 476518968 310887270 226893271 744465787 864868825 475796419 372276303 601128321 271603821 383475556 750414808 694576159 116179215 560828961 340987218 627681168 663409882 676771390 447482451 131791656 802144989 805348310 339464164 833207674 371760905 449447803 108195762 499415566 663411140 929917463 215518154 914442488 152364129 855005680 108123564 538819371 837954382 410566885 672577890 534078430 606986697 420872204 901091196 111042202 468301691 399192323 345967696 279762340 651234014 254671918 285364302 766195807 717217530 979296112 216685455 654472973 919920452 586065224 763471925 655186117 281949385 816803922 296890387 651244986 404047244 481616878 809559284 104160530 846154667 222448238 355599711 101611448 364597926 951504130 148887645 703131163 830604910 634629865 305984120 258594491 238876400 421526868 574663144 721440607 668316191 584337862 574191240 424018403 336350083 137432689 645847554 964722323 429756606 114984550 372012226 177045150 753540438 907438819 444536464 427531056 422344415 526701024 129320493 133011747 634249245 822898898 522086469 470136128 546826896 249869580 846913413 813951377 388684203 632728274 603912935 263248378 717377202 360931045 121424126 548243111 528239497 458077346 574907431 837803781 808495162 206684070 429821359 679614235 821142131 209724715 810535229 579867344 728615260 804847450 261828618 887392966 134349802 653115963 172807414 721885088 922433617 681343611 993584234 903295727 141298690 945913175 636869660 615381956 350792989 143795069 380979752 655784600 679870062 826130778 712114437 430276028 873211714 285396456 958443629 298894925 590241011 586692302 371929591 972296531 806288292 860539610 611991214 542241457 573882809 867332543 250563326 879544979 969017625 721393656 280909159 391430941 107623771 676472389 408820035 842014885 801546835 417891708 285190138 379212893 982479147 550584518 189559883 272812799 373367346 407454036 493972023 192289957 188577706 772783677 295494933 845580423 348111199 880684851 954516687 934207354 847009010 143266898 812122368 217189178 676811790 373433044 245442685 986880797 675363434 359768915 403737493 119839197 576604694 483143452 517194867 624578122 811150611 213245316 775297758 561093539 292817527 656613525 139650691 227688970 596024942 479313124 438916753 124133442 412592969 304133929 328000128 703079870 587632937 452348033 932293495 530404451 115650300 293410241 622141515 277595819 851389422 900411438 138147785 543320962 193044916 874736091 940098375 270580499 793039446 112045334 140876835 802363446 607142911 599455273 438337580 640969901 914958072 372873979 933216536 312777460 686961336 478499905 542510037 700758093 546253231 112549360 245985782 497263041 453225665 402232078 586698534 868059239 679546650 780315493 550728070 489020826 879460794 768924457 519013357 176001888 731978952 442156012 600308816 155211831 929110892 753100657 364900888 228676439 193205422 616435343 101107354 789918341 293710259 462972194 781989947 645740598 532085793 488471006 515933086 396153632 704896901 858249234 465123041 742534581 340758359 469095713 923402328 449942762 794614468 253734160 382415168 769259258 111961770 409828252 510928036 162613432 496928905 822758678 907644054 467535939 839363803 128344347 165032175 218672666 398125517 709195937 528844635 389456882 879022967 756893922 784414517 435354643 231366802 363920519 877976080 352947599 954154016 254635505 967387639 132428541 799845787 789400893 803474661 688787015 987244337 158074424 749589423 988575422 137181785 706673167 641297604 196622570 432928910 798187267 392961196 112503058 667160119 841954364 322527272 661794633 845593656 234502907 592231407 220466033 671113823 437472639 834879967 687992305 990371235 428764653 864492491 495090294 376900491 226367387 383921104 391518737 145117350 932836492 705740979 526741407 978697500 663516238 474695087 214466200 555534693 356306089 173955707 605634341 807605044 792376108 698497520 753355010 779719951 785603749 736563565 201458406 848860987 986613704 983758914 257083256 130044321 659570559 589217744 642296298 977830545 637804666 549647431 185581773 416589955 226143824 575474376 530481207 506898993 922717599 837383147 978215026 259996365 430370193 766243620 163678463 373013552 835601377 595655869 393177019 627916942 897518305 558547426 243934972 583193630 369778178 846812776 354778280 651116931 705415364 127923255 314633176 728549925 337636434 213716079 681795163 211618979 436422892 901892672 219915463 501353561 942241480 803613802 238727941 169352663 922580651 189084011 589307057 502221323 213951283 397579933 123582402 641236228 687575413 300782909 180863956 521870736 862429994 598850857 389398395 414871835 409755715 149399196 901696805 160882310 104896263 247526932 323232885 496420888 954294430 931554260 796181054 317665928 885920548 509599678 647147560 666865419 355450259 952990015 496821673 623615736 288489588 746194052 815506652 682886340 570718749 552272212 247785873 609807751 155537313 765282188 548176768 597434894 562033649 955431486 187709018 682744637 537806679 611626060 984770674 231500170 735326230 112954897 368137642 824578726 252937943 634866928 370587976 758630298 828051275 182615337 854679320 645185660 702902590 902410182 459267756 513973354 802552421 696587485 505075919 184852484 679613124 441913554 604545247 850192385 973890052 720351131 750690287 329222562 740529695 655966842 189928822 422550560 298173923 874726508 723616917 424270501 495871759 782280649 964958731 531379274 647423557 492720423 133275137 844042009 574219468 978348947 169006067 800395084 396172844 414547105 377834556 600500977 660173814 970054423 708097459 758459372 199344982 375725559 416939292 595945665 201683205 421625521 724314572 325909485 801640244 216708814 620550771 517751101 983127840 481906323 825953592 421326628 534522649 291654367 891282413 500658834 502435447 225521758 735469576 597002304 505924902 187914700 468810715 950667094 746463071 660621446 119416566 748017139 325759859 407268603 707977150 457167512 734971429 646543933 282311765 734760315 276941699 484694830 163979482 484072279 487514244 853182597 876246410 477353537 707856364 455419720 957561150 777979075 595734869 903483384 828552414 461105036 913211846 541511365 461860867 708322244 986215573 859904208 971743480 955748328 822734131 694165391 907370596 401141713 563460234 761763456 307310792 209024111 600838199 538240301 968086712 501154931 381624818 634771985 726096427 938816421 378264385 516405681 648520063 571103170 584321338 411828541 714402272 598650302 859852300 184521325 615145653 202216082 734698943 119789824 177465085 489355477 750820619 844764105 770069568 550480178 326558011 251424463 227883939 877386242 565129537 824583476 757268159 283114023 186501383 109503836 779195069 942124549 507319249 195190374 270882217 447236203 644160891 437511078 267996900 840498595 382737359 358085764 756424896 838794084 540645921 592621883 887127438 311891724 825969208 598294229 475334818 933960688 349542280 356033846 737173938 439746394 498632205 393050975 860740497 911600129 916618165 974935609 149079936 503553666 372635924 515263316 724774616 693098330 768926461 791900712 661634656 250994981 958078735 884296213 959953548 872782465 869291384 251824186 489311889 130572526 770881533 720224578 756555737 329016839 616791496 825430898 861643249 456802086 758386101 477463586 709303550 768817887 886281457 218694969 999484332 506518492 413552352 283674878 170439155 309128644 766199818 871997767 943385107 124825312 127103490 832816146 953798346 221318536 540632449 843322039 416522048 827049640 443776828 284299597 765445937 314141018 591710801 231017184 786205879 538126792 938434575 417853034 709468998 913435684 275193780 360324724 723144602 495931660 195990138 396796403 414223241 443698843 869749755 502594691 637923196 615368752 520520769 199344395 336690653 385688441 609027851 679799902 480737763 447325901 816911003 823983426 840642842 857494445 211297226 919448673 707052817 604311706 410255161 966229455 460702784 835735790 627066327 739444854 572433643 874438566 402326402 114833893 276116464 327229363 270613600 126162517 795609313 681853640 350943784 467930269 738047881 469387144 754961109 221215858 626220476 612724100 694828177 118802672 276110266 793747453 171562719 722587400 482773121 584283575 521124806 741570902 970264384 100950115 528003042 242471879 101791601 234006120 156719029 457450647 142790445 135496229 797976588 956602321 881257191 478650916 837705944 515049395 715798570 102888026 215415882 603938827 709258521 255545032 195257448 542758618 789388597 294836897 266290649 273586959 439507286 599954973 578265583 798737835 272028604 952836072 682981388 420627751 521566689 281528129 420836958 496931885 619588497 579179045 681275344 898601699 377093876 286882962 158195455 414558200 671835662 997003900 713622618 991416180 440835000 962887649 766538698 570351934 933435015 795653624 135229030 539253201 556571065 736000906 649964439 769190237 236264712 821379095 729160616 972467904 848233109 529426140 488917123 347572122 486319984 829938030 228699576 214206167 509134271 749083461 905622211 416157318 542907513 296749785 939833047 659119642 788504766 899209829 575929749 469186197 651255458 776444676 759830839 167251181 170406275 653602273 481916016 334907370 822960958 436461365 343761337 812666125 447717566 405707795 567194050 473965347 109714549 677388077 148307661 100711411 582715033 551959051 886095668 570925787 280016482 412572243 157383189 761513593 639642024 878066596 586321615 711474212 251690151 682265506 431228667 632361435 366063053 116407995 568074084 172989910 536171850 230082724 156924901 790220463 703891295 123234300 996121202 315693419 684844580 331214803 164035482 392014746 925868610 100207794 640337046 887275951 741588136 903305335 918768878 209213741 619518512 319074126 945271891 957679172 551325131 934098534 106439608 642976359 222238055 852748831 418945464 824519565 945943873 889609462 366249698 936281534 372366248 584396661 263128170 299446398 147606864 918382841 579451368 380044507 804753735 251608763 271779185 482476918 303891810 251591263 665949812 581698700 448415325 191452554 721108924 508731541 413424794 501386953 838733265 647821051 818581076 734681102 380113526 689937183 368652019 573568830 429070807 631959283 538794786 848005464 981825837 770323034 502948297 590312033 462842451 274225827 209291975 885358908 222535472 422685612 466652920 439049117 792822528 807223171 317438570 137240932 712445451 415659488 425044946 160825365 684989445 300663500 542849259 799489953 246652218 792520265 848214959 262143309 498329686 656977021 482104544 575852807 874118419 254350252 662959968 378621498 846547963 351903719 295663143 724065370 688679764 270263251 921211003 726001981 152558015 758053716 644805475 487675634 625370160 629051252 483736915 939046728 681809442 130881242 702797532 660553350 960316169 547771804 518955755 108642987 563701020 536144789 395568303 497700721 664955651 183925207 136697926 426366295 244996362 813225033 471592434 873365997 700521791 711363291 338279380 596000532 262337207 807496591 143972299 851525753 998885171 518401589 445567406 782680958 771901501 826822489 808895509 776894230 306578394 650858784 557446502 510956376 982779095 295701126 910403935 389940707 778717235 174329823 923709131 923578604 276547152 181162393 674523690 490041759 789039892 272602763 685327225 691358844 840158615 744538109 847346513 934226028 152627590 773525244 825718183 478533372 979366368 186269379 947158813 753153357 519884973 372089778 479772287 551754814 450499536 164519495 436348363 456506011 318517482 258888869 841082023 507105574 436583028 717237559 132846068 701478994 241719108 960716490 232191864 678257711 599059504 158413713 835632941 665747672 861531009 484744798 295829439 877523184 470585487 432273557 173034463 913071115 339228526 866762473 708922837 919920978 342768793 420357197 604562620 203701013 411436967 697582107 975086790 470637562 294492921 557223208 989810570 617174845 225967729 736965897 623892705 986487429 449420808 660936070 892191075 533626870 888000033 210555073 122106628 141228038 343124780 995439687 867554680 652165137 499130486 449684708 214695837 167852252 551006308 260793478 581839706 146626445 500170771 334710889 658625083 328391803 593928546 392740401 125221270 933927107 460080947 687815204 662183054 465688266 976987112 861447610 414905418 464715504 643851345 298144712 983620401 157658458 602824033 257679093 816151576 610386372 508377270 154345516 443858770 504971190 528805863 980500436 769794654 337888674 570883814 433499576 173646260 477944911 828454051 552703643 197581330 264339143 278919924 818268524 204353317 105688642 645099501 176705527 292674477 792811868 584881589 364257349 744539322 369250936 963591814 995711513 505521522 702010850 736418738 366626104 375599248 994941148 454018978 300716888 651546838 338823391 154475632 984538105 671613295 909659821 540278037 360857862 942898872 700124053 514913430 519891016 826930179 443521576 314601235 870533303 356816547 807737963 577392246 615685758 327861667 592472522 435009173 873289075 811302711 899464239 566115090 356529159 258997751 724362594 739461055 167852674 228139851 657067759 447923098 406257521 320908617 327156272 180777649 311464540 762576256 149195101 985447136 198648719 524130388 924850258 775540618 644023751 635427015 257096113 902894999 864635748 648866372 113239989 333293050 822681544 849196233 705852958 131288139 395589147 497947983 711256737 259217441 862005966 697797745 411925664 784900050 937071863 782310420 592138273 377033497 502401369 256341857 455155401 581275644 112284566 852155352 564864398 148048899 506113034 964871875 796548819 737833373 463969038 529932216 405798186 947943405 949243907 532097997 330724170 518692238 859885264 503001500 649701346 768311921 152928211 428399596 229400000 553190372 807613657 142026608 445967640 105550509 582132034 476390280 393677795 647676517 381480687 791590229 258929820 460961545 863057481 146899548 366761217 472183667 937637852 792524552 279292009 513270683 373465663 840148088 681902008 747828056 823490748 761539341 973369399 271652127 639563430 912675270 398595572 839417852 636329128 297308584 104092319 223536456 608041476 919226739 569109177 243769120 427261864 902966494 511287703 967444861 754881695 346139345 586320304 253121914 326818928 336336632 596994160 349430516 815335530 318573237 572646372 326793412 295135401 645802178 610257760 481304686 958341087 107352381 435729403 548737447 555970420 204610752 612544118 687190961 653071939 418589039 790370138 821390456 455791731 872860355 662803150 697627992 416937323 187923840 423572621 443259736 558331594 207692187 310533506 536983036 649909456 370621542 537172801 283626698 619065303 205570462 468258016 659451353 466906704 386827536 563042152 392204495 618529992 890717246 528748793 641098326 603216842 550488731 479902901 343703446 262027170 102406082 967336498 114940116 296247759 510044061 774517406 313058994 777951843 835571073 183329829 149486183 837894930 127486873 805237337 357835563 248136834 748653352 269028091 833401642 208600255 664460647 453780659 705739750 927491782 351300582 959095506 693123526 337790722 953197993 810035532 462870213 713411442 717339741 912081492 462884007 446716474 409795894 317545310 761837846 832825471 189220195 845778735 510956043 802076062 287363693 787011250 223576276 351987302 172727455 804469894 245582516 479886092 898574113 621623669 283142370 640487402 623366112 640096317 453405889 753289207 919947171 998411133 822835995 150774061 582124952 811412402 419095028 657914833 519418908 537074814 975782151 359415709 332031809 781079760 169547543 696679653 347764823 458557046 294379179 668895065 291569036 441507740 168102128 472422312 762971157 423778687 366061262 358531130 494602323 646862449 326730901 906052313 279753060 926876246 516422703 100318830 791345695 299304139 476240596 489825855 256174622 634099635 241541132 763161851 416284755 422683808 206965902 916751060 278702157 935812049 888590570 908468547 419597525 211139949 970215326 743145712 283956983 542243647 234368711 836363832 956420686 888635676 317397991 763665648 378848475 995445825 480702449 636163396 109444503 542960809 938242208 855511926 695130306 187431787 583659067 802219895 934744567 859525852 358644261 939602195 880993697 672507506 386802926 754659184 458572283 368649115 103794191 727247966 178283176 171456241 923573463 438038376 199410391 823123024 407220439 347973110 651472540 402033026 817759064 440376178 307481701 480979095 459011868 741863502 706794144 516576929 585204495 519449114 732880522 762842899 135221395 835389948 445072368 803130199 114296276 771626412 128633059 437287260 487892538 768824636 725846712 910347239 854452451 552645677 673689101 894191182 569732353 691161395 505130404 706507035 499678161 506226495 387703416 459009005 792930848 394644504 355511469 115813026 589900893 720671099 381322815 168620833 685259214 824388554 678647917 618709862 148168764 545011429 908499811 187513883 788358014 788008591 682021924 172121497 744982272 610364669 776669947 864053851 115614633 918308131 899969065 283679926 535051923 653653343 127711209 842404314 347481680 401634377 894837412 330683925 491357078 702449337 115244005 578423113 905928821 818213151 869445369 607502596 202056212 652223824 694054388 672893882 437652983 302756154 509272115 401125429 625222196 284669609 280040050 964961211 246060557 414679500 912282221 845101960 189516178 289077871 600346777 991041912 162820106 555541797 539943862 568394375 724783059 209391699 921564910 213121256 623203817 297671877 558987024 404035356 113858089 175420447 103239338 938805625 522298490 213456332 758935877 304660204 381819571 194384998 212467386 127080798 349354556 908682641 864662073 330031926 161871720 456173190 639194977 601342775 365609629 736043668 368850553 908429492 193727590 227804129 440352575 617653187 323403439 302038328 106057152 706105723 590222834 854693062 790071447 706010929 302246247 390114744 441897809 135822818 172543433 592319284 202503152 128285613 726319738 682977740 913187829 786943341 398485602 148381613 769359671 383092163 929188854 195107850 557602211 566829682 265346841 156988184 959713912 588764445 846205793 120799217 579511757 505274944 636060016 322003770 700316512 558029744 663021577 898149738 729402603 921012813 886237441 465795249 496168192 325488310 810957140 252747131 237243767 198199218 818636482 838727900 918233696 529378650 928132278 118551929 261718202 294367003 810715542 865664912 511434714 365771478 258076669 367102475 746180580 927075023 192091593 818317983 430071036 904229899 440200169 859963883 462884374 393926158 503096750 789229034 363423843 743587914 245494106 600069577 395685770 123574796 833122899 598194941 232755972 585627098 949669938 186928630 486249249 515307140 811685596 448900500 579868357 456024659 621222317 730346305 880676351 284387117 738374809 643463699 710153358 612845552 491332454 165991358 237681763 466876458 617490640 871955754 276599760 135098899 970001568 770840295 160473865 457129406 692117136 799924561 618897829 350559665 953630307 104510643 474260633 912765837 637251923 559017213 747076183 882655387 416995937 832151473 834745347 553703309 912448842 977471451 480509696 140040544 285818144 454122095 924933536 400843511 568669865 880163375 662984868 426081724 936601017 806767557 802685609 672209101 111183890 381407680 396427265 413031675 181482254 479580654 606259435 975158602 581433036 562868439 886690125 276290045 641261180 204939636 427672041 800586944 965661965 761078737 240955715 557068418 919569454 504825308 892900330 347701334 653174467 538598230 430550410 713001720 253338515 500030198 580028526 361740499 431854577 918039979 281510950 442999266 865601460 532459600 274405344 825471113 395445577 157202604 865992285 185190460 459197458 789791316 778023022 775339007 310311893 929889897 297664507 540177157 290513741 896612647 448165366 875698579 577672817 933947448 754666797 319828107 940654199 524171150 801520098 874647894 281395063 616334030 861581893 156550665 628973189 614955303 444331247 985462076 179464794 391911823 183592032 779410961 211455090 488236663 523144818 229496103 746879759 982060609 651415312 697042978 899261675 225122726 249268460 911337150 402291906 451745998 173181510 179068527 821376381 566246429 364977892 813507743 438063277 109606651 932198164 832486273 490529060 255997376 425424397 959190355 562847967 487674003 161789568 331845645 508119217 694239331 197027930 818530400 586832636 565162537 878306883 463609140 190583471 614392959 400611503 281852110 262910741 312333061 530496601 738092078 951201785 920488856 393880978 546627959 716389890 650365318 866528460 189793032 373812179 255096585 910237978 699218684 159463365 498360097 193969042 592915429 625625252 499490303 928848095 999319833 766239287 177993723 392393775 527066415 792759339 608502347 963337961 655188944 908255366 102376958 200187818 447474747 444367513 844140690 527088508 169925060 126300144 850563653 751008271 293710210 839478295 137318936 631952336 686587987 175454906 812752357 382705381 181331323 899897077 960271321 639858077 605683659 345310511 619836596 825197153 723418133 658706317 811837011 626829320 966182772 854766189 204596255 483338834 151498089 132049331 827433708 265040312 611692554 811852978 193015607 688951335 876641414 472206080 133925105 259595236 314120065 641264300 489886682 471233559 717694090 765901839 696513452 199666420 421514845 211600065 224842284 217811090 385696250 757656653 188897043 624168414 904207675 174845821 921874305 695105690 179149681 376765662 985099689 968814664 593751855 293685334 853798318 484254699 387613385 895345648 213660886 631819443 445435362 424123635 971185696 315681322 717535714 511252717 673032409 615342017 540014930 978719291 165545366 337643199 176405960 796880046 549551640 135456134 650247057 130769848 269473191 694072999 760234238 460245888 553891716 642284073 157876029 940325219 634622835 883415114 658554459 243556431 430545334 333992999 538167914 142978558 859992402 259177809 490892653 425479733 127680296 654043281 533273607 835281304 156226207 601542901 121369871 119597285 238331640 167596896 161788452 183137554 986705178 569544626 353980711 745506412 297990235 697944935 268781776 737002114 539870547 150271745 720802587 343329804 554335496 988162326 537907304 353816458 353107860 836660214 938002336 552429957 778093885 230543328 205744647 864572185 795961136 708366415 355790836 120844067 239089266 477396798 440915863 560039088 976818707 225256107 449606383 126358645 692628790 728935855 995985028 738730560 991111275 917738582 493470856 206484028 704319493 162993775 762631846 481688621 826083791 167910678 304685097 775216175 906508197 212760176 935530587 257440478 218903185 636215257 224723905 664035564 414689804 123054184 163395876 348828673 197336456 987145569 117055660 822812670 568658674 152358773 392455104 987169465 323167447 421082922 869731829 461562344 343826048 345229917 952836056 855262445 528805052 841505892 880418367 661683024 803258266 208932523 169322873 812940616 961769579 852492707 608182600 738294464 859720240 543443327 804507485 821477298 534444075 864934461 851755472 503044003 363501250 251549926 609321602 486214202 766058273 600810593 884226497 616682778 823257275 598056821 692816812 586515644 286606605 767143423 571094914 803136070 929183704 809626092 916391330 447015434 822187034 620381996 420130961 483878411 718847550 412359509 321631269 725619683 892601993 317358614 707878252 999376981 981735941 935979007 216791065 715724572 565878053 199889750 991239431 618001133 847056969 410051819 116986354 167681827 293478308 149077002 894818851 858704871 445135391 698072100 400508114 357461743 940972602 859778253 285119470 920137509 748866520 168102358 318062690 211808338 592895150 237333125 585736699 317431592 123544023 531990472 619679591 288942287 130308836 997658075 788714717 301769143 502470993 676857603 697032548 500168721 532309139 163678464 692270521 585586030 248767613 796480083 694647743 951541121 498462453 159148792 957757332 472421663 819582223 222077150 376377257 352855423 582049410 225724307 759287810 171888298 362672946 843905264 777503789 184393549 618853589 566336009 605670797 359409566 584253058 134959799 154090306 243831685 260681600 868927714 759632815 233705913 594428227 663279085 729473404 263749741 366524402 993027419 160289281 665158527 221601109 727913579 509800715 416453235 167634257 359837053 895625251 739826178 865640431 155930604 534385271 939738048 115890069 155333108 424315044 542601078 335768710 280967715 967934065 406733334 299994473 646673645 511760334 378718219 727573109 415647354 293157423 758615033 454909005 557558364 307826817 434865267 973448757 260497553 982853770 253870929 282089618 616410811 500336038 111558434 737501681 299918436 313152343 377912597 581368572 405498746 517480917 203217252 176078795 502736886 158980374 702204274 703980392 381900428 995701097 934142508 824060927 429508039 144550882 840256818 414038064 230629933 810247148 112712210 454497066 722419266 745246466 593154737 202004701 933172880 949436009 789015018 784867966 598739450 977818436 314498874 847127979 169483154 235441518 464285560 667409551 535780137 991245108 209509543 582231835 833283318 341799432 321492089 290064857 338896196 588566776 881971528 113131373 606592728 348299894 694518419 695082526 584600054 218773854 892146829 511840041 752314619 253654774 943512199 622892059 454898593 304798434 617194648 159429446 959737196 399155435 343625665 463891432 705658116 508602789 624297247 147385310 431482707 162568459 935593648 867618298 573838476 664912321 376503910 517804240 388590387 935871117 881052812 591957601 502778455 151413261 817690472 602205160 214241845 261754333 319894130 172035884 857577069 166720513 845001797 307846398 956807128 242888983 231043693 458925796 478631403 675350437 604194303 811205609 653906926 731234714 825129948 863242939 484157433 140149630 315985764 199593046 408207123 417423404 952336224 263906269 937656831 552268848 789032371 487083667 918903688 539884721 744379600 221241475 359181577 669516569 170467722 895716267 999596903 931145694 462746505 926136510 271000788 761314087 401779269 824736425 776886185 450441802 503702732 977931781 414204198 358067710 804645627 962776790 146038488 254320380 390089876 169949927 387211782 851050993 425207552 226171404 997411299 734568890 816681953 280507306 254845085 966502359 791708971 171308679 127411990 626102701 772546694 997381775 466109812 121948069 953615735 134849182 333059056 632696393 741266565 846568861 502979141 972830529 768971191 829088499 305972470 669562020 101638296 655623739 820835833 219125279 562075611 228106483 206738936 506414578 782554823 412660443 156321045 781849714 841555376 678595257 407030028 343599341 542216384 461820042 157810934 262484974 659722083 451934877 272786115 308230476 991392928 286940039 182925017 772184621 649839268 497864379 203662653 218562137 596237683 899100607 143046654 276663950 522214102 494939110 892380326 928300725 682097571 292544977 580723855 938661737 412294115 588345742 279749921 731087848 316737036 700528831 386396352 453712776 853577114 339026838 769208479 636846158 861470160 363590034 820758196 729258093 146050436 447854204 464016627 166080810 146208628 127620667 129153279 242311743 819511693 573787362 869531004 282236357 740951962 291122111 625248804 241357619 319070592 606258442 578047678 799660964 292537230 207280859 482889894 347277617 470044491 896868893 490175757 611094618 529076405 229045983 600714788 483882536 557611814 807785281 166231505 999641216 996592101 979915942 272342668 685004988 425231405 981148739 270995958 429351598 169383575 851658077 716753929 878135404 385573375 116122629 263286320 641061753 541327985 713446846 201048198 207007950 616481430 439142557 197446157 538750374 766813127 305527119 909196354 686227975 665326390 200013899 713840600 861095617 634768184 610196738 938274205 691013763 348166452 977441288 125617456 913269173 459614258 146759319 102304317 916176736 369728941 432517127 356366784 212415981 226258604 836312874 452412913 640041674 406914086 956201807 633363163 990835726 970744315 716452318 538972588 659196506 938021114 992959317 793267673 101551057 795905075 787806109 224232528 281258258 671233468 738987225 145817606 375838678 837707798 120434520 999679186 892841647 341698885 867933692 966852311 750586901 831510942 641966666 600705227 144074137 800294963 416666370 493312704 882991952 194469690 579417746 354799260 458258437 376081543 253618061 510124546 719447956 798828769 728747481 373388300 772968831 163027150 703084034 622227382 883814904 214305949 343927231 793575625 613250994 634388805 261514619 967056989 527814446 914133098 760287347 294500388 869507248 652054616 106719191 770514145 139050775 886903106 990409185 349948841 119196690 233428657 264696900 638902501 672945935 198767277 896442179 784727017 852811050 960156762 976042779 189518960 616629413 126099290 257428481 291974121 430966935 641548915 683405935 896034038 596715165 924770818 805946031 975617298 429090827 291894504 174339076 329303181 305256839 178673681 988484781 611102206 408980592 161402901 296154914 730974991 618728649 480957799 910471198 139752873 719141150 820686459 332139097 123789261 450052680 627273805 192958652 176698517 798280133 367933528 804482904 512231469 957089899 281533396 425969523 359465086 247251793 829218585 302724045 555681773 796086010 462543557 473314969 569020826 952553718 850145608 846773771 359184267 390263722 961861292 454643626 831345861 232622561 986268903 974733113 466506596 681195483 335565562 538965438 337173522 367093129 484762319 283326904 150284628 116470726 512058460 681205466 689175977 182555444 165052058 356425342 672863559 401057473 253819764 636914464 935897247 345025400 669828009 332322451 688336951 950602637 230818535 943852729 599804807 514389543 573192232 177106124 780053146 935056386 522227395 272068575 418329655 393841112 138792406 773180750 849611374 441104289 563055727 433044648 713574185 416193244 342041114 421874885 491097556 353437385 323476749 420340774 556853006 798561977 659605233 915537583 334861344 843476271 907450230 737625975 819441957 904351445 354716563 291252575 215064633 404970667 425886478 139133612 898928890 212834055 765893932 489897789 981734611 984202142 552786605 887656339 106905539 236837465 823420903 676726593 634382058 387073277 894246093 168311553 629813301 207283073 489801878 384948983 812067400 608111313 498483237 157757095 665271155 768219198 645087408 264656264 913268030 757256438 592111862 498732659 487939958 688472725 426909706 289804049 493249356 517618963 130308298 921869193 974624949 793451120 487206593 537794225 905835353 191479485 492766807 576187098 154726711 808901570 251314896 125193715 950744922 633457152 960909625 695997681 376717075 476865631 617550028 265006169 861624455 411997298 768665741 741523603 266011019 407995414 969279678 133440350 128838797 304294221 858875895 791351910 395257716 549120621 171412283 380370398 871770271 454775986 640193455 399221251 185537480 103122951 819279072 628792409 440117061 541603476 178594345 646061131 375833053 739241741 242619576 460917972 487057693 168545527 108694329 394957365 636101687 322425973 245047937 442467881 848728417 822519992 407006738 494100779 139006934 419593319 890373746 701235122 108037129 118746390 971772503 211610181 862028923 289224799 867705498 225752747 640651292 438077524 367696794 683773025 958174702 965436320 308473142 114075942 985782955 154207128 819759540 640902609 308393345 861030777 920159257 230836389 588832367 233798806 569865993 725915564 942089246 920076603 337704813 900844492 660137298 581819886 816281966 185474968 342767929 402308781 495540423 747296895 912669292 576333405 420327723 631272172 663345688 660909946 173492290 659605065 797078827 945061705 470959500 280817554 375735323 418808307 498324514 784575103 512333490 213624080 202970372 502001365 515725709 256103363 451467317 515317246 218559837 244512708 901612698 305342234 302822489 326442834 384696742 133333299 791928113 128152752 731681025 276696419 635226204 795313558 647496501 321797078 334195425 567352283 852851373 866571452 369085189 375529948 692710595 835223438 837732083 239917685 109070976 859362900 951876377 400599422 976416910 201278487 681272747 721272936 993874304 999454675 747401081 194858463 679615903 470671177 998825457 814861311 870378716 220907895 746775466 359115800 903297807 995685155 931383414 721059701 490707646 334217589 927096489 460820537 669110931 918665367 546135114 155630647 142763829 545832426 248055517 557961426 408593270 167120006 393381753 125834237 909633161 169000407 531979218 807776243 904212004 350415136 924871989 594729069 853374274 140993294 367670587 761514778 478791304 286830418 732916468 301772666 643597561 654219369 337663476 353794554 373166738 498160974 194655750 148972038 886581073 342245458 603449665 255119330 641364744 313275856 572014908 876924889 856121397 319772909 203480071 886483004 762767097 367874208 437590140 439930120 207335268 962978386 684802598 691371884 348176061 526923031 377350106 828568627 886244591 907763175 754804081 919420327 573088674 826733636 186849601 241622107 483043235 606900550 426257035 302859787 369684811 347935657 848735897 207582503 488419886 529007010 576586538 986850861 422749389 678753927 661227479 720112647 529174808 967967658 700937292 741013328 337287014 488055763 329183505 420140547 966321664 487483083 232794238 711709024 734173295 672856602 548507597 617808357 485237480 760128357 908050723 716358640 366305549 344795982 130007000 188338862 516062286 286378009 780403460 786365170 499407859 938223955 872693157 703319763 143227188 275650472 900954523 504393774 529695448 167303102 745642522 266492265 331575602 431888047 983761431 811181932 290617906 329337111 555076045 373360074 365984526 501210200 872726462 803668707 747351825 296380308 298614495 792720165 837986860 641433073 652146011 609709825 329727599 199749513 511364472 817150474 379532486 147785686 809798487 585450344 992832538 380038264 723888529 298031708 743307860 241534135 350977614 649016005 121140086 655725116 223750194 275806386 279208547 197630435 628634644 952503218 824097443 764003175 177163475 662694379 647239146 318977910 990037185 214969489 219794624 233202457 835487880 567056834 193128223 930997250 102531495 745013954 502740761 360436152 322434998 666228601 881089931 513900605 517605570 678637037 191422000 956552253 306768400 987818354 526941062 847361447 188911224 786149659 431309529 655527443 968285025 608297386 939657179 992120609 807460746 343652199 730717989 412901049 809853861 893297927 848469739 906002085 820398574 772032994 586874965 634210645 988574901 236768157 429877987 649424664 515292859 188974067 925423461 463276006 159068376 571121502 998182314 575803761 811964924 792138898 839866074 807525559 458841598 167598732 480868018 312030205 142044238 241017492 297000897 148064640 344821625 555487957 671295786 494727841 516182254 611080063 450378300 931183819 686409389 506163982 584279401 448870391 710786479 501664990 134208008 474535200 652537913 532446437 426189144 905481428 956310865 608005878 205303209 775757258 731417844 108328620 227792902 391772168 535424367 696759830 394987015 103804219 679310668 176730301 600098133 976966837 931108566 816099842 943697428 214208757 201013016 767470032 638421894 651084280 560646927 438944525 865645238 109000976 697927870 933200321 243637061 998725402 428845001 409248184 135443148 203435257 684072999 290498688 496469506 461679406 253121666 914560744 718969061 238610652 276010989 711964406 309270814 889806079 594835398 170604922 549699854 100978471 324199898 700904241 915455659 715193972 319617711 681314384 331236031 848386800 391299991 513385288 272858879 416854619 401594785 856726425 499406029 568686773 330940570 685881645 317583493 504340563 838416098 953597981 785312967 644650339 922227302 897060482 307974447 928734187 154309592 850286550 708272953 482955345 971885694 522084677 206923879 269354430 391409768 561420517 881804151 161206253 852141090 716717451 574017850 561756312 593043853 934600487 140981119 940376112 449521962 649217566 393499128 530550754 191887993 655835132 279096451 501177303 404930975 343953972 518994675 712945517 896640651 257582331 888370604 100638493 862864837 655276850 746555649 857967626 430136907 381012715 174655199 307799565 237336421 342086542 776810535 805973895 775543510 428375060 856993518 248451541 223925503 277506305 501462887 811922173 567079846 319628391 771053116 232304660 960029976 739341095 613284348 836846233 446935860 210276254 971048493 716749938 972604041 885836849 626751140 328789021 691449627 783488458 358884740 305178801 276152518 572981397 426738578 211778762 162019528 350015957 419637713 588615071 769651560 366564558 449431513 594441478 894704891 691437820 941702500 882825739 957935122 394070043 891953309 736560990 363632769 981448508 701030518 577928364 431424127 578825086 485094968 665498022 787850458 985601251 932920736 381655242 534188248 677697292 524920771 173701282 171597435 823782868 138920428 368608840 895859332 644329007 283582100 255140876 760833088 866975329 757583614 570226596 665173630 282170256 201029137 323963194 325919492 934195594 812383446 292975441 961992845 749678914 585262999 595661527 204626252 993818947 879432513 975056804 173593250 893494477 628998385 790307356 513554791 538886898 626458412 123776043 702610736 882423773 120456506 597802859 906285556 963411859 430686013 321348545 519540553 568111929 261119006 235329042 754203302 831034506 362230671 456942931 736796138 473110352 102333150 952774400 900807302 238687107 506949356 663671775 699920023 312433624 693772962 292357523 119995708 485999819 296703051 922259928 995841977 637672253 392876376 522828063 809880701 948542907 332666814 676728607 168450141 959830352 524809770 858433718 397181530 322026409 404098934 903012907 816833526 974735263 137818097 412939375 768914107 883876429 940201330 511761462 939818165 943025846 337985756 225474667 246480653 404152664 490825894 378563863 797050525 168248388 128584488 613223985 689730007 375012231 613571199 183447552 744015225 105340269 476859808 651358572 708118848 584027668 465823394 433196963 510990729 176025760 767746264 801475669 213884303 617529912 654803798 751656742 939837565 693413112 275993172 431007882 453171315 197939863 131778533 148756981 948927508 698073845 344630132 740527526 990790639 935743992 174585207 858382965 742208625 196536200 904419048 317636220 795863481 859312165 643850909 653915751 150789731 506419630 815055172 435357833 321682291 168998022 772980360 539785015 152187215 233744501 578033595 527120796 798050012 745536583 690063813 692459976 866132086 703122440 997294104 476782980 465581505 671899840 944870557 915183178 326559395 423167447 789810407 904101165 925561802 662525736 491559921 547408749 777679470 921207832 285328821 328721296 189002134 479705627 321132718 529804409 911129377 404170767 986732645 958311490 924299835 609767080 894227570 700148353 199836441 378571834 809424853 677579222 502069595 209283290 874897158 565126980 449953594 809212343 604433473 224882074 182018151 658467094 218247051 661947358 869737002 690381725 669736699 601175323 496560505 998930596 287956971 989472125 775722195 300904229 836282615 891571510 303923192 615476902 428028648 415702286 192806634 119249523 570008955 864934516 537336807 804280292 780703997 333206406 196313999 700979165 439152584 132187504 146071614 331158272 914676794 928611113 814963135 885077152 196695005 826324741 657351026 706621837 532412631 783916120 997251524 293076200 863188783 808168314 524673066 986590508 435072213 108278010 748154576 137937347 818446452 191405418 882711766 775203457 901553802 671806386 742734603 687933361 793095738 654193747 525758739 289444119 854346299 287555464 963972861 771526420 370860344 790482050 176041638 452194090 568205009 256027310 489891602 298758890 437792455 714929840 212437658 570401864 934630696 852118834 900342732 861364497 984455048 919041951 335158462 528129230 258188983 528738632 463930526 254743769 207218654 753387450 125279917 487215558 741920423 162525466 328903421 913326744 220484486 415199878 868135772 751733528 984097853 977157311 166738057 820374279 985908423 834447558 420826662 284248593 752643205 346198085 849433372 322522751 326225341 361786279 572938054 157220138 383321907 151958938 650181196 512624166 241037412 142044439 888228377 827529178 548622408 883992214 145344438 176660210 605485565 941972359 681763059 340410769 784303907 184117625 116327028 308372411 814866407 402088639 888058645 615841580 213476004 949461982 596415417 624462387 523783472 150909141 621254232 786009488 235322687 955322882 932359985 200980332 627149074 779730940 115780575 568835432 626543035 435049664 268967785 543076523 285659908 299335730 657551066 635560592 817660404 406293232 106471058 544312332 923603196 262711621 680050377 163703857 647659733 315121807 165110080 136537057 776857241 146763390 995963914 520904710 177933480 725581307 199051667 986177664 105324968 922808805 968039511 272114419 507599777 260179179 406058903 535570038 799660051 759651658 924803580 525526461 387374492 155247050 558400534 436637990 915085863 931247051 780254990 256527976 716977485 227897632 889726165 127554554 821500939 696056363 722348843 902886877 820322384 969207752 741363491 610860306 327807295 835931790 835728180 265639856 931042733 375468505 855091654 368969155 567431953 536852975 243996010 731160852 784505195 449178505 839431099 560044186 555627924 355386749 695521490 803231425 930787551 392567225 899635375 437961211 307004915 469969520 717186596 714893940 361918166 528256793 100310943 654735280 474374640 338097469 612439695 728169537 219905253 829704243 702380077 695041122 541552293 701341315 528089795 282703005 463582941 223484549 594465736 535328629 624542372 897398359 417638020 684872253 872214563 932804831 765840228 446741725 441236756 608710376 666434784 450197765 391753603 183000161 390672267 716465560 353431591 126110291 154363976 804485292 277111064 940203263 806669428 283903397 703906741 649437962 810218778 973492019 833075346 295452468 543245998 844320572 270703313 746836917 927290019 879890353 432324875 621238934 593060266 168040875 709015077 808756670 261181953 373290438 887933772 148856808 913073206 325983840 481019572 649349836 769160515 754834384 374744832 562069241 720400368 788056737 851153151 218308916 581725753 164385834 974022920 708247997 789068230 314039340 421964763 602386837 357881673 277256991 899509364 117449649 760817849 282385485 307734686 176747474 411763310 668856694 242591822 903366838 874809655 453173170 888042236 996757732 492362580 884087692 796279386 509175850 368064737 848233868 997158772 237563102 345853789 200244518 882832793 637771151 805520491 106010535 254065895 391507551 325483347 914635504 265319283 666583041 879469692 127070879 700243111 230722431 842247395 922818488 305171752 701772510 288314187 442589758 768353805 900322264 809999049 485322673 896376264 359577477 384147265 169875672 354633291 709297869 420104916 449650261 645723112 861879945 295597923 765921838 370579819 460062717 220194258 271649907 532876830 517190245 595237966 306902609 561356893 765181340 867321988 631395162 401902574 635014154 770645313 515209532 878574078 469360524 529140177 723615114 517123668 524164476 745361237 912679178 609647989 273647633 480691758 981056939 624156110 892060372 914494359 945513142 159475218 360943881 634887353 907319364 563421572 112530893 700875398 286861095 427983606 954324245 602704643 349574075 595004942 728212189 531162347 715594043 550122084 868013748 841606826 858765020 157176198 750871321 782224100 313570679 945908131 248540282 880720580 476520839 166512326 330207014 508137960 688287045 965654734 987891000 577528538 263042803 580414529 839811045 652762643 323799924 478212087 119766049 521448864 512990704 844427843 545581437 435713654 480586771 703026147 607643773 494965122 947639808 925599448 152621307 125665025 328581668 303725101 194420089 117151440 200162487 956293859 909255378 627918265 918825050 586675206 725334328 756107080 617032876 412254451 159792049 144343565 814919173 324073797 308263663 404311530 368923469 249579410 331552497 576082038 334250576 321104562 330186814 544169419 193266302 613664759 227458552 195293707 781434384 406289653 512217912 744774255 113000444 307874729 127077154 778838347 688962618 285996625 927204549 131665399 586574344 693627389 554127126 528981563 701922475 659611090 156676094 364238805 228818970 951774178 347084866 975637215 822814949 831272931 468774281 221354396 189813278 690579512 305520459 695653400 106143984 176381519 623521649 620560934 587156399 500431742 821992108 276504384 388438758 759609181 690036849 158661324 976599597 537316150 307298165 474089733 845479621 682731750 965385120 311105458 451991591 590712617 855777918 769295511 898345482 717506609 102747028 220151448 353453988 953249688 196988294 647505901 895254695 535478266 527459034 244107045 729651316 961251746 595395368 679830294 248431735 165206066 524370648 205800779 512969018 978566060 493110906 840172712 166613432 624626324 699409562 641321210 865574795 203797045 481417928 399833156 195953636 235027604 150850109 511501401 887130127 154484592 656158622 308521903 601354579 373967966 366972528 505060432 684544262 657399966 406297081 294846201 132804052 286056013 971291329 510771932 505041567 395364773 329090516 632202336 697101884 668590808 885786938 373853698 490106419 708600432 280193486 947446834 532214952 286283544 874717387 866752663 964119138 186885325 850350446 604915380 757770464 366558742 713520680 691742609 912160413 402710917 512179185 878786216 677692845 172996026 175032518 384777202 386266044 517507015 695550696 194206493 290219834 478618249 313862017 145693260 384670947 749854361 550193617 748198653 351356826 506041387 143349925 979332382 224618449 820011849 793331498 371538534 825825985 814950211 921807701 823129853 702121014 702538341 275124998 336486507 683580589 572249233 102172845 906802842 501565807 629021746 354311417 508693678 165005375 361237618 955276479 565252220 853080199 445863161 661360682 702996982 181037369 471492287 832770458 872297577 267000509 196991896 706438153 612609369 436493065 617122914 688872394 894228080 937024374 740964676 202326593 283008856 967229108 713160892 265014202 757244127 796400405 836625836 218167167 243569784 113071916 804242890 286666488 188524556 735933998 891677384 622725976 120101890 429309172 423399991 193955094 261093683 162249668 536109685 828040734 264592499 117070234 747993255 660347369 897262296 342705637 846884394 434738583 946273995 299870381 390649802 749740849 394322298 643685722 382942881 904107415 925573387 277000432 840011817 392176558 145320791 852855554 616022242 984821400 296564757 299687589 720397012 415257976 506095300 672381607 864168312 445570238 840348698 879752510 692271402 741122248 333302405 124376549 733541409 160044259 807553471 451452817 283212622 324250662 316004648 501833634 175798268 276795584 901564433 864561938 302885939 176917426 789438403 334087562 753449115 700402452 983242234 574218946 148865054 159797330 524965581 236163864 344444564 232048550 735408724 284741225 539864949 959340357 371059305 409574330 521973057 973490814 140955967 252793047 613243595 510128716 598061148 395928888 727050438 897959377 889074170 786299681 660292264 950452144 433859052 251836442 699263135 910137757 768890874 672263808 311733916 551841110 224617254 330972913 701188458 727815510 784466478 710961276 327599682 886777947 323631139 786956459 539836946 293887335 441476068 351090176 628984182 926533218 607137344 406790728 733038752 196934643 180610017 715594382 515866539 456177812 796989361 175552083 267402287 460692700 539045321 432838946 559318466 144838196 129119038 853033091 590916203 534419771 164244140 516515922 948618301 988092163 893681159 191135239 970844200 971735260 769163884 292657303 567597304 714873855 773313720 312614342 690906240 314296761 831435318 203737905 281285494 953609108 968880112 964490314 604277605 244298855 116298465 416039973 553680245 550443390 472498054 947176058 988227460 629995440 208476474 667518344 622019241 197008953 717709535 584488775 612498915 368794848 627572964 305877504 996029579 354779676 148545023 709054468 569430947 446792075 424715597 732588115 295690803 475301248 987735338 458670498 645826549 942826891 803255772 246224697 671923213 852668714 754187466 388981088 574851465 551562992 989819403 920578639 892916213 890008349 310028664 273017502 804574851 779789234 897415613 778176414 639959667 119799417 176841948 148489153 305145778 543297211 305041585 892135379 434274808 344013078 945666964 502459982 610872956 388312551 358116459 170796403 291511906 210542308 829451213 788922096 147219128 137193472 368583368 620712894 349372258 360134684 556635833 178062323 278368850 857337342 256896488 873480936 715698164 547626104 967082356 650863668 490169336 259089701 722995758 812101382 940901253 292821683 789541707 249804097 868595246 142607928 381020856 874294029 106387125 288560414 990444089 545514229 843869477 522581810 410696602 481452496 851929300 457830602 913068415 372319406 988630855 657242085 805329938 732775977 118148038 638059905 883772678 141751710 304479943 249052779 449370236 577211769 628626436 241951746 317119199 791363407 634640881 182344753 818347921 319799116 524250862 518258873 782625734 963356465 849890401 390998245 474045129 394021180 699389390 367402304 838987103 693820829 395391259 131702510 907057742 862569461 958463465 469352836 217481461 676396085 506024671 764585360 530524989 408018970 137034600 373146889 312401613 819409986 431184186 431013097 651340795 473440817 953588807 424358641 693131624 848917555 196883358 400506790 617096849 676045535 723043241 635410449 239047293 760616000 928841690 442028056 252673100 824934754 107818951 396897846 124824784 631272966 865648385 290998147 864999086 916785922 541721433 900363256 235913348 282505895 838472661 932557192 613224257 783786319 262272995 467785836 963356909 961152558 968884029 676456517 824400145 764808190 805954537 622797584 366083500 127768481 740140393 442134677 896004309 569790160 168018945 450268412 319479536 755951155 106149455 283582218 639940613 575965278 181782602 373511383 697280470 730994861 101104389 158694858 840223634 735439026 648283627 847003115 934688040 462720643 693786119 279510071 172945445 129204840 316723896 814251277 481385350 860950014 834894195 499423168 826928683 371061449 660633396 601262479 363321640 269062304 136759913 650748398 211924924 634924529 918099825 563144840 885045835 630970181 763551017 737568349 326288895 407095608 420720748 710384572 938201271 833748638 694306487 688795775 761593478 409816338 258243206 226140237 530717597 686126442 718958614 745324514 352924383 334524039 158448751 948122125 363198276 378661871 781310010 159450699 268996986 217518398 900786294 582054742 488095715 333826885 180741633 231970584 419856835 748406359 715193700 316836560 576825797 630082396 704921895 457869873 356480267 741756860 509568780 773614927 463131888 778976098 115995974 351986902 489736982 341375918 725379508 686708846 834247536 214630867 992649605 982271018 565746354 821338155 979800683 178821251 601414446 837901708 555963432 768821725 867684030 798496804 665493617 745517562 465441400 289639950 166648611 986700156 195209785 417631347 968495287 598746571 259691555 946772829 490013328 110739137 104947815 525811518 884350725 668357124 267954293 818114319 249746119 608700999 174458382 177677358 712304846 978435861 360330984 203768512 978887329 461864060 334117529 834910007 915851532 424261902 252577029 366602404 849039306 173321723 840844471 485946364 748483928 512392169 353485932 857339816 849401838 872722965 572962686 374026489 229291511 928410354 114398137 411053340 678663158 865062340 405916793 230300943 650392472 632038408 513322789 516604499 339507633 693566015 472469048 496811480 557786170 234616316 914388340 418461973 863137258 605602047 676758694 186526315 125443358 869628739 557152591 676364462 973681682 301367211 672836952 860704178 628318562 183986680 706217419 913541657 132282146 684324430 336871248 822475865 389157340 481599845 305486400 600759397 551795782 409898968 430290598 223417183 460913506 739914265 148815044 716152403 683123854 294667259 870722127 541613396 220762292 348848133 820498306 332783723 551290492 408813134 145641914 764321086 182603412 190854452 326485290 745554778 672499178 374073548 312987272 295144779 773449749 300320067 633865507 619728317 343579528 221923208 173076614 609018706 430751116 965875187 993995766 295042322 811977572 871350519 336425603 188529296 227133855 487234390 113829974 846382983 237727081 484704915 708114261 177644082 571441665 517514406 800476655 497011292 708482427 123937149 351976000 596465215 654009337 698398068 818954751 701512595 179470438 761128810 915152022 393739200 293784455 261252748 977857244 418147264 481788075 416863788 858405888 421927966 835402683 821121406 411188020 997487859 261941063 831412443 509296224 467227174 505261810 852851105 797670098 683758768 153633393 310406035 280947348 985742192 893118439 892522967 641798321 539041533 847988570 875163147 287942511 465432336 300637661 526106167 983026119 142293205 929131223 393372089 676833722 242004335 308438160 626530428 340305081 105715887 950350683 770035960 705026420 656367486 964935506 139127726 490564063 888165032 201074128 993744335 650430897 655410494 871510897 187206847 591433279 668614850 565561690 740909257 444873333 518662588 842915468 261180476 165019333 183983610 402317228 592517926 607378450 979271267 278888335 978456002 240648438 524804447 642948459 420573816 826923615 610214470 544272093 595938185 945088849 749229962 593051574 358866362 500822245 294256728 589718934 357095718 386540624 969121866 804261025 264142994 975382845 996139628 572996658 919063204 851281811 104967580 827902808 464792984 643848707 359068962 551392679 688748442 201411931 939691402 684368245 443128643 984518283 729993864 423077935 110185733 919280180 614444745 582429736 547924451 256999299 547008242 790905817 820891964 340264939 823107631 390041532 413468460 352460662 546972379 813565085 676073157 410529665 590549986 483813447 794051817 292428937 909664402 627078934 109967922 238863490 633325476 917482350 989081419 971743530 590345344 653842252 536351440 171543850 947279987 541252626 451961787 837784807 639571699 711813586 347348941 495860518 798516300 659947671 904150797 325704640 728468480 323900053 269045207 197531153 567634068 649931700 679211488 703313781 183323100 917742652 893370350 446403323 606255423 777223115 124821824 331459999 794487370 696014676 916741106 530712438 992663191 804383784 715959017 884311712 516867149 659098780 683827004 842286984 957052496 982385872 194821808 939865335 330738768 872598992 314514303 693356698 666830379 703727973 659918069 110803022 846655393 802917973 339357879 991316050 691211943 569808149 437179045 952707112 373948194 346505574 158070092 882500225 641029231 261069745 636345518 353561836 868138665 721498395 146364238 824242988 307208323 712052110 375142906 753415923 524240016 381736151 602062609 577324232 936946569 921624796 428891419 813783164 335714600 418544227 480977738 405816791 573323601 107272459 666114477 808063571 954522362 141389669 452535969 309391089 137612303 807442419 672181780 684714708 532591305 770226086 926998589 268652967 932827632 242778311 645134407 801664817 176592188 617437916 827121747 313369331 412577932 592480261 756765970 872007896 275813331 546134319 188629468 954432775 367191591 919644459 325976884 214843916 113838686 804259002 138102651 241415579 307337797 582273862 671387026 203200560 282816063 553662320 375253082 786913618 572499130 969770833 876849211 635905307 349345199 967790567 269948041 519612868 790990549 549121108 195195804 532699776 627005117 560730768 359045347 375825406 818077879 384794789 832812999 224786971 597616405 610319903 966069987 169295869 685070808 910615806 392812737 286223430 368454937 553559260 197670717 417304502 975562384 673478836 466537710 852402278 226064143 244584071 779954405 526912580 786093601 554761257 300869716 800464599 406932580 224380571 464565778 762892317 687942326 823612843 104289283 408137746 631966209 611860610 509828251 716933057 439305448 668171286 442086803 284289965 572838318 962354605 908377211 371802671 266851698 680729707 103731852 654050377 471112576 645018659 663271105 956118457 217011949 240670674 679703691 959686085 615352506 663184429 544774738 186836277 147668477 728653029 119576470 702248491 150061217 215545007 570411206 583645304 642325633 646267563 120851437 569256718 287295198 261785497 611516908 388531256 179018464 474864042 325311415 391704334 166977441 341005511 858115293 423919534 820172769 504283339 786518136 255608737 242334773 773115213 574049269 786506949 212324705 910087270 788626178 168119365 852110072 879585346 566222834 628621913 783901028 643392150 483187052 903531009 420495339 233951422 933586052 875120769 956433657 472418082 871446163 295668313 827408566 800162769 578160461 961186681 678588681 281745666 358239737 334208346 848972954 431569922 398516734 183606930 262106352 434067288 757798719 780086899 827820920 832500210 175443369 151144947 962681739 194487876 972783913 678878533 720054705 355053683 909000044 908452925 551455484 642221048 536530770 938681594 538950573 974766826 100349079 752945283 526157163 883154797 156317532 177531569 198369096 405189005 773757460 849148157 335711186 280267049 893134777 311081004 760466335 702861175 616893174 475492197 517746901 118297602 145240110 604552500 826068935 583196107 293398946 735382593 549288450 218409604 482487630 299981856 817896860 530857530 362895604 384259261 764976908 719463242 840635321 712167624 888394926 777609505 930855179 406214852 996647980 957037722 595599742 868810374 288982229 739575305 657038259 714059820 884742980 394331350 973933903 672090502 658592896 128064044 776002304 656557767 740190527 203324005 984319665 923285587 921176363 145353535 741454312 932432202 769996633 815208654 277702362 729140344 383779695 765071603 985383318 172458934 914168865 879430361 294869694 386401608 245305508 750172692 339424004 291423915 754552123 580740997 400140254 586083017 341704129 548064264 872334918 646546108 707900698 658014037 745691331 285856642 521160178 207993108 970007658 557182174 137353416 607500408 758856586 541881236 612816697 702707544 108937039 758556498 209097680 303001804 235105724 345864166 954833293 145149438 182718333 797747149 796102857 692113125 404777282 991363628 575911706 465747219 652882350 982223074 313490939 743118638 193705442 210743383 158434014 883193083 279804301 978847803 431284026 711830979 844509971 479854925 626992341 915956866 445807267 264959947 533559764 820066825 193554056 741941932 285826841 599839348 382981035 710938958 559606593 493660082 807469475 632870707 749022913 947471131 504794724 414472725 162837200 459394158 821648577 555628668 719259839 492263100 629209814 737541109 495610277 930024876 316001332 813958271 155430145 763417670 213605912 414103541 771067030 787268769 218648305 797414106 817296842 714680755 511778999 415559461 563313629 659231391 154495329 970394544 201141713 957982860 214045289 252761376 907193531 240123627 396964664 101804809 959731471 303881429 133305517 180692768 340984092 388508788 252415632 652800841 978514879 431945508 463754378 493652463 153854407 861367140 540445548 587887665 954658269 988733026 801733391 284269096 328946761 868259324 418199976 449330162 421639863 582721346 673631162 131356805 314071753 955590325 544234627 577526293 928503169 348883136 866197967 917898473 316837418 938850130 678983453 125941001 486543530 160100045 815436383 442588258 592058104 205474842 823854132 260130105 353047526 178364000 678383951 839371881 205265640 116475088 616064281 890987145 459898643 109562868 611851990 557946706 373297191 459366941 659008409 166389332 478224785 216594339 173618305 827491960 440468353 351558529 417157370 577035038 895611971 158058087 196305039 571572557 863510817 702436745 419403477 635528515 635731827 824646389 929812323 693177657 426707701 108547923 346072662 699773969 641208255 873910351 628850212 973622631 108598900 600953211 300500627 146132116 215013289 780412034 680613856 889259690 820565331 245994906 604295069 536558934 415605113 689596018 222178943 259125359 903761389 647448689 477313286 430799997 403054442 820586100 933124234 763802085 666522029 685900262 954629385 890360801 380264064 514548840 131025504 767749382 708003217 853835600 123974045 614490177 728439363 686827443 925104032 884878093 842478768 726812310 196063666 696029218 647432635 281488519 169148064 831699659 628443960 953272001 884268283 112603554 406652767 600158329 104668229 226420027 337950149 444160971 469648184 674284118 602924436 886160877 668777590 367042144 692884129 274245036 786255161 969084028 574747986 374770573 998145870 538315990 114630601 924756141 498942753 257839391 714210780 176497313 605220936 123006745 980658273 844055057 861286225 802703496 186321630 311671667 502080543 909660940 902791752 566739459 357577418 759945102 620448881 109323541 832937214 220965854 650635015 503604165 626964866 185979300 321970589 807649759 418101007 748845772 457239257 310219637 335022070 680387589 661629442 533053862 243402781 200210932 371191457 817908435 988426384 444270756 627930676 970848990 572225633 724730571 640864703 365585720 492167542 419155482 610267985 880745631 553727180 673812845 264937243 907979969 425563681 858110164 668446662 408243231 913640062 768298794 749931741 756552615 971373208 850421523 776690860 966181847 292747307 679861845 132832413 566715760 383252952 984914619 704594150 851944714 916011245 974249457 601908920 538403466 395949242 552211749 174674539 698827397 122805757 697297955 336088306 809524717 650806770 535057681 208792974 681399474 887018467 127419835 186342710 965162270 466672666 185903623 740027804 246453628 768795470 987416741 680375029 464221793 923265326 397617589 810527804 131585998 945191807 218604430 849533442 906278820 898209264 276850017 367336743 109952406 289473210 353396483 521308398 853469815 369318818 972364375 671452950 795048908 362954955 890336634 385671886 321932478 680792120 955651217 376041083 202929253 488441753 811954577 105266280 783565083 361591332 460735272 759579326 972102780 527878384 444076551 709567495 408500083 265200566 143442049 302388478 491407930 689327297 186228735 194603988 903988388 400907487 472038820 716064700 430445465 682552539 271575154 953518385 572302289 882262878 566277810 962578382 368233018 248552663 549774477 806516281 999737952 660209159 893203640 845074515 751373906 474812091 833399606 660172294 264623755 205790212 630462727 130920191 955037443 995524821 949220122 113440504 813367833 413941518 145865267 924513461 895375377 328116515 251370525 705781747 573378738 700882334 346254906 323334282 134197243 959614776 920328022 311712473 634184049 121941264 263632090 918943112 490447976 750648661 928129087 782148328 817764646 752822337 658483508 377233576 486346537 593557239 119117390 448759050 370676667 330641879 905509087 262621773 598736571 522933883 245387082 439633737 571016203 475135320 485081739 108435915 769020778 354998373 788583824 674602075 880143687 577179375 451499994 957800239 715863923 814211242 236430509 391210195 596589832 807547807 203592044 732331933 372215904 713484440 194432377 205905815 801582223 980995640 407973751 329316235 366501970 353713664 455707147 125975941 718556985 361362913 821653563 313209092 308967459 829189315 382062880 559253299 652732994 368959994 955424023 949006297 227982412 465829656 681830166 557371403 385773175 567107294 848515954 560006028 975685097 853557541 354824673 579462941 961109312 602665004 648083966 136591778 823332456 597530710 249890264 485893168 137233141 725375101 592770570 120403633 903065849 540916895 897279295 281452273 827009699 675367255 633497623 268016381 774197569 413482977 359473794 679858548 700432371 449556331 673157082 570919860 379489866 791972431 428900226 627304160 271164063 328927594 208526460 918344695 449528065 472184090 535922964 588493149 614803673 515188067 241986415 873593070 373785711 423844483 897470525 678968693 412112754 173275038 622350002 103598786 224579273 527172339 742614810 753691865 341036449 543856904 689092630 114324622 586835200 161169056 649763862 820320893 647318988 374313080 666328188 600997733 150297341 538703582 348688383 770376134 759721086 903789673 489073695 957006617 229540644 927680864 275223619 700148478 697115348 884012009 624780831 139014568 439702781 848079708 620321533 789267038 106624598 575989905 899087432 443281608 254141008 643760605 334784665 905686236 685560836 665182817 883607674 721672303 858451813 737336170 194647729 562567774 788877434 977800589 386544534 516224102 530846166 317602900 362172246 593584031 565775601 984398958 523437118 660236562 305203627 405334043 550407494 989350565 932237854 117859328 791682818 492381115 699126055 994128016 365585803 663515126 963185886 665977544 883408068 621322093 112915026 273053054 271682123 657283944 856257940 766244719 924793918 127116796 703925407 824329227 286240821 580882529 436253799 824495786 388928147 337478347 501885434 197252008 587100674 204716260 603340474 647923122 870440581 503053084 184329631 252102317 690318432 768226973 633235535 752535869 821043899 686866262 343663876 508896787 745172871 987191565 103080393 986194151 461079048 719296863 919310293 391591803 147215638 105149296 308813862 407993697 602841536 764435246 743029332 711235484 386301745 120102966 564158454 253584774 472969141 887767263 681381007 120467322 400897000 900637676 784304197 134035488 641005843 650181488 247859959 853766481 595285048 275451283 888726965 784359505 559165407 392353409 474425271 610285758 217803480 276691201 294649430 476312611 511601448 684004597 293725788 175542255 411919921 139221584 292188624 144905773 218818460 592851003 851866070 990985568 961639257 522042696 150898733 987529905 744001006 174426473 897676248 683306167 447027157 806913729 656807449 343576286 191940012 740028175 908243174 196209257 688557601 778860663 205847855 932331519 128528084 198433565 475610096 858226973 584524219 854888427 832903266 847658009 846259352 766242232 292192187 874228948 825283325 263523217 667387931 206677207 788049005 315804180 851729469 350198528 715157027 781992339 895561102 613504094 323696831 159517521 739677629 265677573 414679609 497835203 197036224 619103773 307477337 900897855 516839344 918185600 107882200 424693065 565296867 516309992 170692699 353634848 233759952 128359176 730605735 881378284 172602983 620729772 496609644 457181566 367113762 466271484 693154075 929323846 397684621 211354025 327498761 475620675 651216949 469071639 365251925 137800641 652590828 911390352 618157344 101097042 724630800 785068607 573419920 953574780 350208953 609603454 267925714 749931013 687201297 293165402 589722145 290245436 343207240 341361680 941449520 557031884 633718410 179841151 821010563 965499540 841690535 821565912 460850945 673303910 541688438 830020600 590896736 761145457 280611127 864528292 247686194 363068559 520866991 180855400 102961865 840774060 630373578 160523379 506215043 815966270 516462485 119670389 569504177 477445455 951799756 653363526 317496958 642820184 118458596 415179079 858280002 392977026 104439959 774027201 517565482 849013181 379247132 933583933 276938090 481611795 601708613 195549136 348744103 781559001 255444142 984319990 807170287 346108367 271331761 789858080 960188175 619824363 819096911 992900166 278431248 772534521 544853182 264124865 489554448 392043222 955401825 451434602 965863470 822581677 401413591 476700963 732904759 748997253 812675877 568188512 163765623 863779263 626303247 861041064 789978298 372166046 991378618 949850902 935596040 597864519 105295455 305639245 511066277 883830667 792660354 499473678 811952724 718632763 565139466 168816070 430821547 959740855 762834284 365555391 361582209 299336447 655053151 717528422 128834059 136544183 573974927 620744796 989105517 558002137 299597854 419339052 936352291 806999212 965073751 939342907 881238025 305095073 808114672 375237791 661034494 441790854 600631887 389531038 836684720 808227363 227012713 957231434 842819750 670803928 450486245 355401116 101237708 778466396 951333060 772996475 738946333 251261008 910618579 632955785 985975186 827910708 309896536 294015124 932501543 769143913 346290178 143771456 658135247 565959598 284228842 225530146 447360352 773918058 888786823 903235795 516744486 861911501 161243914 784729960 474510800 451315816 324155323 664112559 738391285 595796639 901489788 567777711 107971533 998719258 958674753 845657232 255499902 488003511 599076332 285292526 390770467 105421192 421996826 100712513 364838867 399802489 297137009 788306027 788162867 340809355 220893927 597025317 957236652 144406012 809331580 376423444 652735866 918205294 139051977 846940257 151167432 509630982 423407670 895364199 775613993 930314362 544416483 852748915 579239369 526465366 890310240 284311953 496322943 445173934 477297799 723704213 932911074 305793901 939179000 195751414 733760764 404854196 586602349 979075419 974778915 418439575 701287232 392635666 361000116 210139177 173500289 916193346 209443801 404898934 750643484 998941397 308258860 307775059 554786475 226229735 993206899 605629286 600817063 807054250 614960755 209212107 925403469 333285429 536140406 240850320 374071883 983216980 654704102 621571533 357995898 330069146 159639231 964323170 892208560 923850776 736961138 281104835 362779369 906166847 905861532 289667898 894407664 474268802 550612374 744563004 251729033 685576521 138501442 185520751 872338956 788026906 988894925 539113298 947469971 787936829 128625807 977826606 452811254 494040245 157821477 578394564 482830734 869306540 252774104 484606248 150856563 141800593 272546899 135509824 842278482 828505325 397502280 574852879 465785644 680023875 683774406 192092394 369819016 496091054 233425400 175095598 457901997 986268695 681793961 845227055 686892443 350797291 991122268 837316461 336803084 871799698 332787415 579872091 239088807 899533905 810343460 293382884 998606395 693587267 990110773 417557408 929010512 574736818 985646260 563417773 382708688 614593923 183435964 984682390 338380991 466895731 183406092 195319729 898037001 143457812 521052126 918599107 189593407 154254529 581567976 858287575 768021736 990372553 692983719 126365534 666997309 897391390 334252001 406199213 342592643 585444008 995254275 102531713 736849032 101106517 546657610 835844019 783212866 647099251 765984962 495131596 186805921 771789117 303512717 473844644 748627496 415806292 278138707 299932271 893211248 927979235 897353820 346083283 183278952 902374388 400733471 671332224 142986712 627319766 114909229 506950555 793326784 916293688 267353974 298140032 122363918 394679179 336179746 778113650 873874118 693736147 792446989 755986841 681840503 349996115 274497922 977818842 134622011 574430656 224761854 323985115 134060985 419324380 647084436 606725687 976217817 435091016 945769024 877137069 504299837 226149582 700929405 804039797 402525772 713083844 174400760 103323525 822943765 922494949 442429760 783855474 766374047 207712642 738552070 161659220 919285631 674219262 730812037 544618040 661680863 179885694 764846981 992462502 419323271 443768397 111367806 416151213 808028930 476147930 986766684 265778611 243529613 149581874 477192584 916202791 794625062 354307296 244875814 194429346 334451768 815901246 505940783 464098642 789081997 381580766 765025866 696304970 670248085 414258575 153076163 251132717 509324386 408524381 599563468 949436230 531627479 909244123 362248380 601808956 514910301 408977606 551470067 254542424 705686917 421099464 403899437 593886664 728290843 407992177 703169603 969272618 270582049 387932953 890709035 688577435 739167868 529761905 899623204 109952249 608893676 972112082 191397429 634737695 248438155 190976963 532936962 735207817 348159095 981330694 700313016 391039181 643121345 655849603 471290715 186524281 412208355 517229446 534167722 286801118 344987405 887042814 587201120 632582313 111521841 578862524 482979622 857079891 544860681 184366460 226823882 451764121 110927389 833529398 545398974 766509318 650345067 300904239 340007425 233811076 399876374 616068529 817561754 808872853 987464744 373802423 539168928 438841811 920417460 754061125 280251497 234651596 795232992 521732488 774874531 683877726 970241875 889504023 261567866 774124822 875398363 582679853 303992099 809411841 907058451 728724689 427070642 252413597 319758085 936115995 816632748 416460078 924743619 741451905 574426030 984945908 283324265 842241760 722464153 874813028 391346944 470507654 841929247 352587848 994854888 820803265 485874055 722973121 539257212 317424056 147520568 673015218 845548831 860703985 333596444 204354368 977927660 807990730 639695903 968118467 816672264 468542513 936378822 479712545 454489065 656118040 409557842 940883971 101332141 804992463 644078004 382391675 997248800 119928743 675477606 300182243 329213082 421549721 801885342 701522171 372365159 127852448 396469532 559870110 258411059 715075441 338658762 966790017 521091193 696930265 553046146 657150057 830404880 244003950 844514468 934661087 966635609 467823487 405956819 188254272 135199903 414503764 751153342 548477441 468459989 406097065 364322009 191692486 864887217 220273628 631537376 927320059 132608651 903888238 680068477 156705749 285221511 967092300 736975000 992630512 473588660 239119298 636564342 243573266 986361900 704640615 936234900 476118570 312346080 128564736 195754112 679518848 718794789 392130719 629946349 202733407 391296015 639519943 370534609 518166153 644937892 916132418 249274785 580546886 705834444 211928747 998549447 214822324 192608182 860310194 801393885 864994212 621843597 909175423 339242639 230874277 251853759 439835151 326219342 944268126 377793154 413388338 491083074 520358348 525238551 994748460 488798013 458246696 846331101 816843402 441539607 737123682 749440802 459069673 414556480 827032133 784988521 692586150 481088007 821453618 658451722 434706594 989469626 139375564 968045999 677830138 866243669 198439923 465370345 942768722 160603554 541143748 914282820 598527689 572141003 473706840 139038889 852247777 537427843 987820368 689991069 741872840 213939108 529165639 591950602 831647070 366913478 795339461 333374628 464898304 279808209 123246575 554571335 132341432 608047064 462483302 630813128 584286621 271498590 730287066 234232717 538834669 444651762 439952366 418652057 344043308 343672256 848813437 314854527 985302185 565598874 805344625 163839833 332141470 954344350 596618060 347461108 972537563 503683320 244287895 963512717 369950088 135645051 924746909 636973461 105647290 457186778 281093544 417330983 785090851 240563657 850224237 613092109 997626547 718674497 512445585 306408496 569304596 550194391 946364488 683752539 191611202 579772032 804204724 659073299 700772393 257343122 135964071 556180065 492483216 299882035 522560832 310390823 913067718 746737019 535939136 396063237 650631243 914953131 944165849 455413920 562444565 330136662 946374030 706641793 626150263 208209045 764131531 182412072 113498425 410726426 178567189 374366781 570002167 209689196 326863254 699439751 112647887 367402721 352413086 822495647 331914286 383184038 320026017 637964241 209341438 586239644 112196412 309187039 895383611 504601554 410116920 619526018 159557662 830333776 560968308 253121359 941177179 657297933 250478110 113288452 941756049 432435591 679769048 548625243 648836557 400082588 135564646 153028982 308157170 767498182 364529530 214444753 482665994 247658325 843545747 419341466 813476234 778882103 689000640 193598459 234859200 761890788 313735135 616343763 533950756 503479756 433521529 546056345 570243474 456160856 794649049 174427050 848301035 474935094 182727011 839907960 464368527 372268231 259032093 816772078 427168591 478506712 121833893 977051407 553384835 105064720 969122578 939353719 136221328 709441597 447504732 244728446 435210415 955773229 637399567 529383721 215216605 563761109 319996483 659603578 629861686 384189186 340138666 499132266 848204291 189443822 554839367 341578621 691905749 886385316 674340549 535541441 978897486 760279035 719945765 434073235 127300037 550918013 975070166 679047377 340095008 941185634 408542163 944860484 582186718 485177188 393442033 979751081 130082638 113738101 525185963 248203745 566754307 102738334 492191557 597004637 829756018 174498586 863523729 827666685 599353803 185236510 550958623 213438139 806212108 958705874 145349278 438946514 410952348 264631392 395262051 563996761 884907303 831335340 216041872 870855075 226555139 567500139 576814676 259876184 917156200 982533696 461037108 615319752 410929213 869029077 400983022 352216609 838909828 773749086 223716915 268840711 614808541 190930565 375260926 654602156 894660084 262597990 603633427 537473540 526468230 156929649 130691759 192987878 885878163 182780480 129458423 821753192 713471976 362555364 627670581 388880961 584084686 737109963 376655388 927084359 457623827 555306017 562804513 212523163 628900187 524259763 516755996 290419784 959143917 861165722 660444082 783362594 711538735 404632565 386766024 207777038 423435662 602289202 192960936 370407362 310312958 438685707 517279763 930430415 440346392 943589396 123943623 664966390 975481884 441413572 550378011 381387934 860991615 516618807 777254789 371613732 703975969 925211582 825811903 597963374 122566695 190178790 828399711 607179618 760287981 661249418 428121577 102130468 504927397 408660839 757725148 358986686 474502424 103937258 449806773 107877889 348605478 830567849 895880187 970280300 700618092 539734147 549247927 273055738 805254595 557275842 557288227 235991139 486493710 402127733 660628911 788785816 316509399 510672340 370406420 261608795 638588424 352394832 132902272 409420947 576229745 975998500 675608073 590059425 901239552 728481240 586525261 603227330 564082044 551853676 397662459 124130556 312138108 258112275 390442086 725051693 706177063 157914914 565925742 571368324 333109933 634864846 170072898 503912279 589443111 177387458 963128690 730226857 203922734 317079960 610657332 788017205 967313020 926823415 233434526 208617732 669801141 986607293 411901695 814005578 914768942 600001517 616558037 496815208 817926991 817544717 844559929 914397563 505802256 196213648 595281116 105125643 332896382 275341767 101750388 187265304 527894947 422910839 872325043 307349187 632499467 484408292 524354932 885593158 497861004 493369755 139155390 687399746 487082921 109034563 174983640 827131833 885201922 469375481 206936575 963938749 832286817 721020517 639690993 729366003 400292175 911566786 879211443 397144906 390958406 132093119 976196495 931008676 599425255 916011936 752546247 873863760 220492291 139794874 469398493 396056339 454796421 898225941 655916235 428508431 743340043 781599988 631153420 388461650 439972895 424386592 221828420 185739528 717272467 303956032 456916174 866406042 890472940 266507188 276273102 854709773 676949343 435293310 789510152 622767178 743230269 942685653 983040591 852161412 570405549 991786799 618015298 728595491 311567130 556927821 998671691 569434412 309688297 668481391 940918500 156227273 324232895 501432721 102472608 349062409 147763950 842187603 902654566 722914488 221740874 966814983 400125355 630781528 331951090 853507193 941798795 886663999 565724589 738877067 718981731 654428546 864871749 828943237 566175162 742477310 223524238 805518379 639914548 291985714 325664885 754223925 942310294 565898325 801200402 569348807 896257270 439652616 842010536 906613553 834333531 221702643 920989642 624418454 973492620 613009702 407272466 431549685 680147311 680141337 299844516 309130760 546401732 142260712 112683391 219606697 308147875 832816186 761103864 903168346 943519936 733370744 776526736 372023317 338882890 228567115 196855608 620555137 205180229 424085290 160828971 770460642 446730601 527828186 815182933 958198088 727169257 296395414 288805596 351427740 778592368 633517901 671537344 413195439 950418406 772200799 714049578 117630247 221782185 651752720 431194517 761637263 556102538 996652550 679708210 457818572 571662978 106323641 938174985 804343171 153013439 276692901 267141314 636384833 430971158 474164952 632703241 213871274 490313880 362962799 509036710 707429773 346211807 267666594 516802173 614520116 554720819 453872709 241507389 204411290 936927461 695426017 504559926 694391031 226965198 559930445 102730497 792470786 482334421 869553503 648601524 580040345 187643469 115751527 605069746 519300430 655810182 974027832 539677703 964724291 539952774 316915203 209430630 619772408 274901867 341736064 124118730 236635045 569216907 877622284 321479182 369383183 616029368 120092069 555757853 752719703 100182368 260805005 522594406 890735410 194904200 283481385 666175900 984798628 259503915 547884084 834660255 349519867 151444082 904103200 881660598 926913189 955596349 310327224 874151799 883700633 211888212 812714078 132183071 989893058 894639423 630809919 899681581 790830793 292283217 270183438 238988655 572854177 773707322 679570417 687504244 548922670 787849346 347715825 737050493 641016049 631226795 401492079 164857351 784953368 522989549 922832752 447500421 442343137 741578167 978749799 204792372 820741192 738048814 680771389 484303172 598856793 974876854 946408050 582725868 438890619 346022667 610728324 619949533 849690638 225581489 508231949 694013758 150869310 839628697 654076338 893286814 691174486 651867970 892115407 141686190 436380421 606754152 935967618 880754068 447050909 253376507 506437674 264607562 747207343 501266375 444994961 971079613 550695400 715851783 982440784 309762250 669086802 310299126 556136482 954338112 101006226 148981203 152249745 342614244 533828490 469109054 876537329 277768343 516529170 242498061 600432248 713047553 705638713 258102759 395924432 382335678 568456121 919980823 227828605 807877290 219216983 868861428 802234900 280594187 459003291 320098641 937253789 875473941 497512676 927865857 909651853 955384546 417499837 595902841 220889690 897781508 200299961 121033838 171317746 968539523 474224666 357607945 809323970 264195194 793419789 495007694 624700090 788980054 877066201 741918406 964852770 672611880 741907966 273665211 914382989 156161280 143218814 887789433 756871986 636600981 890437130 381194687 871558747 316546415 730461102 406351126 468125806 859110988 217192703 417994561 360168261 866865607 295127309 251771383 836508587 760775979 468479964 576952803 532255586 505738354 543393896 178319831 142783846 854858695 829204952 183928572 991018433 574811367 339361408 817939260 602974200 110873846 806912231 893651432 422825788 923608974 513440328 654401970 155449886 582206117 842780660 241315663 607298231 658801470 950311710 417366877 872808219 209919663 815769714 599259590 125435714 443730946 593968720 887584978 583733963 360320433 898662837 638126867 745795250 127174075 750733917 349765771 623819346 220390252 712440059 933523331 664334085 759150561 313862797 364947664 209872873 545883808 731346969 548900091 193700525 375710235 854751625 122945412 813203165 490082263 216813068 917357725 653894133 591048046 245369109 334651358 711236795 262361083 793250125 916448257 400044577 590103258 794337600 759687711 760204550 202193564 739432973 432670277 952849097 431320380 810031059 972579654 369635516 964998242 664346689 825468992 574673890 276788635 774140195 981974279 652836838 500545890 770395267 789536901 581406418 905136128 621452099 413009208 329470107 928488104 679323701 325997751 581801414 424412693 708935098 145601056 560582645 660135625 311295262 564939826 927428880 725222302 778893417 732098470 398018433 919241414 930613721 637637103 147213703 572355833 411481837 542357633 516168477 563344060 138816260 226452949 677538398 282872833 732751911 922499799 709187924 477155824 352488356 704383120 436717825 918031136 465787583 822397668 850965614 511509862 533905395 840381111 466729345 204151409 517745198 796801098 346528582 114814118 195229660 938786010 276135533 669947260 120147745 997442839 444437196 281624393 467375806 349327227 218429228 630544367 326660409 870850289 764188553 461608272 994107335 246482653 547669419 815935124 972510744 209372776 600818059 240116666 930588809 446529530 332888316 922196040 442166058 877838101 736135384 796925805 350914887 527692339 230820748 311975331 225292482 441415136 269759672 306372390 218283357 106556818 957503169 489352252 205984286 778536942 386193432 349567922 577189288 403724599 158865310 214833676 606597796 496174127 927086539 871513360 535878348 569685567 762480355 632884718 966733347 100369302 566200465 151377830 897034889 669602214 829192710 318270479 856790406 146178085 631687374 793948406 419513692 739646291 476651796 123143875 779474916 376489824 572368476 571023839 528280931 586417611 464055791 568663789 527860985 389598390 141442104 825353345 670022496 388904247 688368622 365733510 594373898 280396720 345314634 609375587 665855234 297498803 164369545 936983254 428290248 207508542 616801533 422833739 744559558 251347540 786792642 619958266 496686228 778382088 644378561 143663695 650829808 393675333 834849279 883724020 433287991 323731621 854758531 813521418 856429456 598099685 296533812 825553777 742820666 536352103 255282650 962630488 791732396 125112201 468798602 643310883 125206563 397876629 539592513 167468296 276734833 362728681 637964008 855319321 939215124 852345402 826684854 476847440 263016471 247145659 501609083 667086683 888411704 618712448 909982954 528051287 962426319 372493313 311871331 953928832 377778989 253863593 736970591 623182485 566938231 887999765 883171738 478333106 805584025 735009733 409596008 496345738 761762774 594832638 262146116 382890445 916400743 807631126 483352448 637373041 445177725 583328665 225961669 339306738 801194399 785867251 744351587 926540441 270959874 863554032 500763497 447073139 715322757 619851787 886487721 227333577 520090498 307054623 305811053 531160700 396475408 477074489 956463725 194321502 444637438 875346882 964328171 181943421 837160279 518653678 854982953 519701093 738857030 742737733 454152194 330029720 373178950 851970626 646697668 366187761 969826135 267447294 202996819 799932653 261295933 671095204 309635057 889611895 215791813 635344960 484846368 374218514 155746777 179174515 868006396 491729928 954309553 814126245 371564763 334394819 401858101 894175901 516756032 932300287 247730814 308337582 666667420 429859227 476826319 659697255 476650985 589934640 964835374 619149526 293246809 608120162 175725248 714231792 971545669 760961932 457497481 889425421 734650180 394241179 514952402 888881794 374177067 154118339 618515732 590834895 199228793 517264467 141567625 719205072 734389765 255428915 239790229 357098748 734722599 593752083 917557910 650096176 173098639 754743642 916336879 692296023 655634613 586403199 293193957 230609412 238035968 718009652 866197887 795073328 340458242 961682034 939560553 565604080 585939834 857484275 443781042 319954838 270974695 537826178 395568550 281162083 849723410 361983075 318697942 117840218 217179619 393612053 761070748 392036344 739258675 477029055 536836971 522011724 369649129 971465104 638030507 158303868 179403251 578191914 620892973 327839782 572803678 311309693 581167605 488459900 672219573 718720135 288362536 510232488 958303278 764847993 556843991 172618847 439332787 887344434 458643329 408412013 640618041 435680069 868636900 701910716 181409154 253148339 129524608 375289091 893189669 127573002 229234766 476389661 812979540 612328380 199667992 242961514 525886615 781770119 918696066 321389231 472404571 341380391 341148744 342784446 746967031 104830297 218178905 253898995 332310150 261020086 329955992 614117552 839745748 760800008 882156132 654153530 442387516 538958562 156796223 422244606 443105963 660606847 507633476 890887661 112410729 648859802 532611077 708501596 879303527 115964625 331565233 350121681 939269859 557394208 194952612 758085303 168048937 604152883 367258082 632929935 168153334 712545010 172643230 109726050 935890600 534267687 972275260 365167049 402336173 161444989 353545716 476649801 369278476 124076790 271828453 308521551 654417415 237949581 742440106 882556522 267815680 376174639 689736414 991855313 461096364 561941509 552153930 590680391 613214965 864094830 478507839 128292438 745468113 122526517 998419406 334863027 495164231 725140084 678872666 870987567 871114472 614101886 490728650 164532732 855361305 854485623 565018306 571512692 974194137 750761395 622655875 475866940 505471836 991734929 324505901 194618182 281332061 407116707 251495330 273227940 969999863 997615133 564002699 742039140 980683069 792115196 341734896 896994929 951244508 742303926 543630634 467397665 803416186 630577624 771553265 277806285 250976799 214575955 854007463 868943209 262569358 250073369 906087019 722789461 652245339 800524474 196141162 319029105 387061552 753482287 119844817 276217110 904962041 679673604 511050351 667312269 702495223 953715630 785489107 240961208 834069308 764084567 379613045 293351164 874082502 259952082 884530361 438285828 237955741 794566770 434634188 194436200 144290059 224856725 452282884 833492579 599851378 590404426 682050135 455511828 646043534 127301011 259456337 629862783 997389980 396977942 465672275 189501670 998141809 591233321 481414274 819484506 805339421 315401971 939515569 445195605 435105193 639179196 578053579 219120416 883488525 904624612 532811806 664452903 937575074 690359974 106441919 945523874 445318144 933021240 765373974 561864493 740923655 437963614 537715780 299501451 603806171 984032232 572843721 664769351 197054244 197703807 953656794 353740367 783005342 476899352 751117466 759271475 733578966 710250043 574667518 492509765 595474188 368312920 192203569 786864039 189760325 703659789 964672862 439951246 236093525 126724538 837151411 124665117 109026495 668171776 735242941 906660285 562679834 151927447 165455931 964223682 441090893 638932602 622713837 454266583 842644281 569033225 458367384 561812537 431851651 551503376 837062494 163955384 878049278 267867487 450028274 347049875 709310936 183948096 196868443 211159599 151403491 354053884 817762777 480917204 668781197 931699543 299206015 780492033 555799504 900329487 434026146 674952466 787595639 246425328 360544321 526101047 382657517 718562695 752251346 207730585 361952694 816166724 925403467 449447569 486487995 658502848 681718946 598980095 675953526 301295388 321682596 881412681 741123525 482394129 132827748 610100372 395568134 371264036 179456776 226039832 395886774 383499477 124899514 372814006 694002539 885234648 111374174 768734531 781456091 657765067 786266103 777811001 192240287 138054488 369936904 314721812 583179944 161359808 129433226 733461208 821812845 245785000 889491886 361786901 619580104 975342078 933823649 967083935 720226478 580331679 304254095 328476366 360527151 938582496 840227409 487891807 994151466 329514077 951113787 580145484 123876397 557597529 992915236 378338894 349255919 324742612 518980526 303975442 283567930 907703313 377357203 830434654 940064172 146921568 754995032 444224662 755951778 915870356 673633793 186521144 431266971 890474593 150525019 321718077 467340690 932223278 949366106 758257872 474684071 632643103 174414206 806353656 493666893 976136786 506969736 752289736 343284121 680365650 652240726 835032214 457868982 677191779 826712730 616055733 269578133 202431575 886540451 746544325 266491261 315693225 730995939 341375208 995888017 700487732 316933261 677494141 196644877 834598204 864417792 156268804 663802532 330699065 287833657 964383175 257641167 856439722 339324747 940173721 481344145 482867580 772993627 189975972 184422539 420741575 571033825 117646728 845359296 748070960 827557283 880532549 809232982 150496719 331793906 268270089 164089800 311139991 913445390 407809224 855833617 321839695 546945935 291176296 501152907 131233203 899548762 197674605 305836716 880087803 952588087 705121964 615158744 354470947 553976442 319654437 259099206 837578129 452245719 245213149 992530168 940682386 618226551 681030409 725816036 535178565 251096990 417054170 227673865 743400204 948771213 134508378 567115922 392707559 257205051 486576038 417898872 349593818 599800611 404906460 862832404 868079595 389570550 854671761 374725578 664916939 732223553 358750168 359540085 900056623 132388441 528167379 404311021 102390418 126267043 176303928 704792914 196684959 685504916 819965536 965067794 689389443 580394530 179773014 808255888 700483401 143801727 173778511 432317002 481877958 905239552 916264326 323977594 675085728 610890956 546448177 845756009 872464502 165472186 417841249 328576262 776778343 794685468 823587851 820080043 894042272 859366772 909819297 869949401 318228518 944018759 565632948 451100761 978001734 634587454 971363646 524748689 149860527 251038703 924967101 104258071 481965142 971468869 268005641 700835512 876069018 435909550 604467707 785770700 358152408 959572418 312090489 455943949 117553971 331567998 988243718 629719256 829134669 466875679 330018000 691706823 143147026 856440585 742251859 723161613 621173054 819211347 618743977 422090199 288127811 944630575 734225276 527987823 426681824 668134208 581106514 281472847 411592747 765162863 803962797 333735512 539257139 322515170 643168618 945780116 265628795 637956378 263968673 804800900 654565489 844826701 335676193 204113669 373378117 593238069 657705485 605668274 867812609 529359251 742760956 459723517 418360270 285720279 497989932 899091367 239332049 416181911 698973515 840225261 454758843 855046178 981450239 682342626 552778968 207766072 851627138 744457737 416279890 738819804 286493977 979626544 551463356 728388777 983909306 526662664 958946134 634885024 926555306 683214765 126909134 611032301 917266131 149167011 146034783 484889692 245679424 970084135 771960897 308314873 544380271 458828392 218111223 513882289 670708500 329908954 794512287 328758014 647668704 233693863 733724644 526649069 721221424 918091321 562813055 947287065 395619146 973217816 963962357 487796374 537457365 965374335 115980575 234108719 940259932 207627126 668160203 546706085 705398183 637896009 314513240 568759397 296714697 586582508 289175164 790177566 923737267 715050626 375367289 458410531 135557294 227739722 257013167 902634490 527488216 623439390 987673020 226320516 774766481 299022464 583553606 295554370 488578491 648955336 534956370 737091955 742185431 641377698 528855412 264443295 840800017 102137304 503463295 264758702 888451021 497915024 771486541 317161065 447461003 701532161 687604693 707567673 864214648 612232056 411078382 636924507 357110127 750073151 642926640 838503897 499823082 181231950 162567241 291275085 833302384 307241671 633654892 852407619 969892551 399023352 518095966 704163616 184218791 163474036 559689734 357100086 626211498 101769184 483278213 111832251 356885596 790055608 153747033 593971731 535706579 598743871 951787038 632688973 223329684 723346692 682690734 775361678 218230161 880393046 391642691 122730198 438154345 779413060 186768802 239085352 879761642 545539650 121156377 858351566 154127129 235773797 614858379 692580661 857768415 962358226 126848788 699019870 333512144 729098987 605633317 691131601 779101606 891177007 792913646 973280470 889266477 340960184 531395121 162041955 812714306 230593145 811544563 838938875 173452345 157407797 473408761 696510444 369761215 342700872 769684692 102077726 779404230 710731966 368325092 153331962 737673951 255427822 862013408 799538525 274985415 367415981 983729463 873335525 105875661 831350532 733715698 635798960 883362278 673725565 875649869 637747815 206160729 871092847 696791068 860933327 918150151 104813045 990072258 529956979 409003037 581234475 705794005 766790778 707832220 615384024 424409607 515259279 130316867 619655404 391019522 291477363 254710202 359015959 462303055 100574137 454677533 954601659 320033481 239078834 133574621 607294655 596177180 160336939 460503149 252398993 774359028 701301465 659351250 404192156 904198052 722176427 300821839 118232695 396805017 449984394 268768910 294584401 728341858 591884661 634088142 499715826 641237372 546028717 255952751 633516301 437842648 673968027 287820968 745788961 225745199 687898704 843286491 974323656 444176236 112365418 624236387 344213613 748022863 235401353 778600538 695002727 732632276 720962978 915783729 515542266 393855944 836284512 936277708 185895118 486436836 433119984 454169345 721319707 550901489 964716312 801987105 424806062 187981580 523445297 191858802 222434516 661915686 200388717 711981160 778348627 319375196 471561450 821967060 135371180 582556864 938280177 202174217 177486277 228133646 351452703 481132002 407721680 234201971 370263249 842953183 986240268 593976352 528776220 327147165 283924581 597544448 507536167 476300963 957599501 673114040 529043236 814408797 608956599 133814207 999535587 242872656 666660539 874690930 678087386 256282404 657611920 974571123 959020043 996234350 345526170 876867336 285137442 706484658 637775878 645291100 951160071 179903964 494220718 133252208 859287612 889872147 980718214 671672100 346009175 316310502 670340794 464296906 258985024 309295908 623265137 257096744 289813925 505044835 810366276 285363294 107014285 144496707 132814295 200659117 739427476 117944473 898701339 892221083 794326989 218547149 261545029 491155411 103417511 958627202 969358208 477387482 730242918 459881899 475405897 525400214 594076514 861761645 383528088 930117091 957609172 639629064 963437508 189965020 681265208 941530733 881570163 480734635 620036937 471672942 997970871 613469244 704679907 178427056 123991396 408468912 938261962 594597129 955521163 416399189 139205241 678040685 855481772 878763174 359541111 503156773 754390876 603867194 245228366 620626304 167563196 406057604 980414369 962900333 692313148 391234469 543620592 900806495 736888286 448685080 704997650 756561867 311710236 951447467 332791142 702841467 575256438 773384690 617603417 508088342 277045633 879492907 689043524 649127500 443425151 372390594 220031814 715646134 211348867 345023533 338700367 264798883 633584168 847338496 292403744 395279922 697902736 599788495 455992309 635908382 427580786 213155311 367513537 111458251 394343568 306990784 260705379 440913993 809575698 854725777 479097166 991129059 732967153 497487584 617408875 577892002 229292780 591502412 144900471 300363217 801686670 259891717 611727874 390887755 688118213 856719198 806637899 216119956 959331864 295678299 733832097 411212042 249317123 938132972 367468457 271763315 902665774 733911693 430178525 386027910 791962961 290207229 405741242 556124993 649178438 352144379 810718178 938851655 107802340 158858773 192817304 910927934 794919594 384683615 479261146 317535779 343695713 453640152 166278473 834527666 804118876 418458401 910819690 611166044 460517052 931962994 606710650 579147761 445564736 604700511 751232860 943490985 599508117 973028893 246264358 558983963 611733014 542059336 583694645 338965234 406113440 466383148 942054512 239830199 697830743 738928698 310280100 668997636 462612002 124533672 961807794 899727596 581905761 570826324 106908649 705983757 100295609 557946104 562790161 240107913 547931324 685415900 633289628 265449894 157114551 799571409 454140564 239786575 210392593 298132164 408339835 643829442 415153644 588500651 583553282 802782802 633115055 460215113 238908292 340362739 567990264 460943595 832953367 318410775 664375347 487734097 592739045 131383184 299393711 247512019 131012701 511084975 973679024 582155545 883503261 497923834 841990098 370747673 904247767 347209120 582498397 192575304 706027217 652121419 458748172 636538282 698740307 947464960 781566357 949121136 302744201 876449260 975477050 655956243 490015011 944140368 277894798 594384166 281366922 296818710 966823813 829845711 255799386 225245519 837326018 505055531 388293115 403652674 715554274 133563065 753215783 552828153 525496558 350929392 727250162 579532836 631081705 821009925 629010648 987852877 283229917 983753346 616745398 681595180 346567694 299680720 801140127 716034233 458066372 354284836 452343263 554052448 726690280 404350041 344822537 400109266 601402372 398837166 334563050 520021696 680634014 433619715 803380088 870161277 531470254 976619344 466124540 217288556 466653810 640042993 505772689 747887496 625233285 273640431 735620299 619132047 447843063 728007822 117957295 330317934 249043316 586635120 899252137 970084966 222687701 407878677 588398641 753815268 739983225 578189507 581893980 510526621 198622171 850818302 735588643 274730668 374152168 868728759 958088844 948277830 208385890 176166154 785527771 123723101 580644978 223495391 819925122 230038886 390299907 972347049 204216287 194554317 776310093 889942867 891019472 580977907 877429770 466242164 590623640 230225492 658981327 355184826 222545217 904146899 369558605 464305424 295664160 235170132 552696321 252414442 569869982 942381309 458925672 408419624 547718041 396749936 167212134 974666234 601586982 859158892 800653878 514243957 735155052 985578292 903358935 846966507 350473188 454369904 200400916 398670647 206618530 964415029 212008162 233950574 403247884 473975132 211682040 157153416 698117743 213085727 404302955 972620329 704593796 645482474 932076639 881978492 730532322 986126788 918693645 592581818 232148203 368892685 742018945 431187532 729969877 289454009 986617420 614683615 944645663 645577389 175580086 277484007 507790549 193403778 706671436 964074123 811195525 235780312 890735173 527427828 858354426 213190590 306902979 103535443 111155455 687991416 499097244 269487036 214858389 159902240 628948572 141530165 155699813 473102744 639090310 493490049 264379145 676409132 621710208 745855305 316138118 869449682 813583678 342969402 906258841 645707141 742944709 994564155 751269369 669376085 537123172 540162465 640578120 946734047 234799041 109833383 778438834 781543995 495562200 669775238 445340117 441427163 543050718 962011444 756300122 201959470 399649552 374039772 745356013 893873611 200664810 325491731 847433825 727376630 879246223 600281212 936416322 801668557 669864031 376102604 847853304 802435265 222514018 971000805 537669224 364914287 313677903 782396892 372228130 229526475 564907171 133138407 237215109 159634564 728818773 152128377 600263078 377731306 532337142 554896827 239139692 525589594 707397349 536230961 626288894 659362255 200325675 249067302 749885336 721791960 176979182 754164649 979896110 411655203 649455780 527525894 776450212 112690955 428579460 517831436 990268639 456725454 346738618 239473974 184928741 177861105 958314366 429015387 249550444 222646992 428998991 883964293 218903231 786551571 987361423 492526285 360920946 854409737 387673699 650898959 241270828 488046556 488280119 546035037 764873791 600813363 687266385 980081834 856475842 343170053 108379125 887140552 754610228 866671397 840858734 225938793 899616936 313581300 934005771 570316727 197448047 335511406 594902064 707850692 475288986 508482376 910836765 425330196 609722056 389398300 922707059 937940584 603957391 568253964 547789779 480469657 291850959 822036090 876022790 630875226 684768776 619088591 945723635 431440619 104651590 114781077 469685504 519342668 358807598 152857141 587265442 279123803 562131902 758380933 593474281 891033923 351256457 812264814 312731258 174817475 178971604 700686422 770167507 603264982 458616964 794245965 904250833 881323958 675695803 723308532 101232527 698577063 862281845 897352646 559481233 884615588 115472985 140886976 356550044 359499180 797783294 122400236 671260989 592125714 929378015 545868403 554388448 745592402 606973997 337232148 485716447 639867643 303325208 150529950 114817206 126622043 836070779 491327463 877690724 518006165 897829205 377807977 802029854 503724861 302332979 828997478 270862994 502681326 421049313 246209867 637340684 339406436 321676035 508704734 132709768 625895633 913177737 934572985 623783757 197242768 497206499 801256110 544090026 189716319 165659255 664182584 423422631 279026418 313584281 311489256 616944028 110860563 996494400 671747504 367180689 260734942 844985544 944074997 784047632 399260282 895452535 335981062 719495193 670860420 641398101 967239794 582261346 809101825 751906012 641001975 539775787 236825876 366852253 291156128 338943544 452596278 150395442 950570713 905510465 161346139 708620224 587308303 272874213 214948306 743183945 254289045 596781836 786888721 197614945 491947604 456920699 696279225 155485018 531716022 319534644 421881220 119862725 910660018 586410357 857887213 605789700 140716715 658994350 766939899 926052440 183351395 310058121 775060871 594744119 142148424 544706365 369354860 535613822 839548059 305873692 406026102 900335439 933451607 227735927 272689619 443807370 829683836 103032793 896197388 837198655 476229958 754629569 990490446 181925641 409035569 802622572 818872046 618949937 826718947 747640516 710365505 546454219 708280827 366569424 955991520 708324387 839533328 541638210 461413665 126091944 163255849 654402271 791491418 925299720 506719216 759772799 881510176 147871708 907619163 590955624 785508479 251332460 308681629 880959555 310738638 999387543 132319340 924329359 530261072 554477101 626203360 476625650 759874942 595609669 643890733 896600862 532287238 769352430 950635320 334860049 706424329 122301251 211302728 861891801 366092846 514041528 647233131 873137210 793206026 632815802 298184845 248617894 104591139 100819605 728501547 286005627 272602794 750913319 244441287 351731607 352779926 712281854 118233402 541300159 377694864 932135800 204115250 871989036 910117614 775283583 986068396 625902709 595325604 330278156 714606742 189475941 751591675 325687430 194442891 442266607 580932521 617709645 373260049 302196806 853489140 176558735 776671040 289303208 875309004 470602989 375146129 697635587 666460164 511842181 629537263 531778390 891435514 322637687 394757380 385358674 488218970 238973232 373842100 842837092 211931833 621164691 601727474 996774712 740029145 585515916 535714702 594189408 171381362 606175946 860065608 786212887 672752481 950960018 193415195 830904341 881732700 105632751 526530786 700896216 848494042 872447782 636359314 803066521 222269903 801567468 429510639 907275514 191525031 620767444 902822239 338160390 423095847 694415951 276073128 619323230 636142534 347111969 435664777 150021328 649138448 248190637 562053271 649947049 108407532 598431118 727023150 672856884 967037995 489163732 365838636 695821413 149816661 211494124 867567005 162064974 265692815 809902320 501664457 507774211 611839405 340865053 364586719 470633491 263919465 208962810 720324887 606340073 641342984 454269773 277910310 290397232 740182688 382353835 273290613 469813606 155191488 914158844 444245797 469913589 404476732 718185932 429242434 255839044 759065180 309179826 426283735 433013003 621700833 692986938 754482051 192554664 551182264 519616975 336044861 256625622 327467500 751801470 979125585 100910544 326677233 995736887 481206051 414820096 619320345 417194453 919830520 141782276 688671232 476857646 511574855 220512655 996274679 629558323 362310636 812923587 329083772 266090139 248050768 648797581 961179443 733353085 465249433 345089658 420998602 324767862 135565651 834099117 510065997 966877991 605766601 356798466 798253999 743155961 823719472 697753677 608432564 590817474 192747030 556244045 618471144 235730991 991368175 829799069 826380312 721944615 629648750 613606691 790583190 469895186 798776463 503954879 109164676 287343832 562948514 627520157 151755847 747333770 984739976 417883698 532514530 227884819 763006513 196120927 645391567 684852359 948752519 495643541 536614489 823115376 494564964 177990064 759173742 417034340 970701375 952917426 375105191 592417407 132857134 786929057 461169915 524593925 638756621 596755146 648460024 225720336 546808835 941413889 204218396 996238536 261754356 439600770 864328396 966042255 958212666 960662809 625448780 542819314 299431600 440239542 675652606 371208426 970716373 823355712 900646466 237025788 226570663 521080806 801764229 944398898 604248511 796942818 846562617 210600279 219421157 284581863 143608628 368285230 264822069 537900333 761946245 572190601 577901918 885838729 572115305 587463121 205398062 248317626 601458312 425533315 793883688 898321619 203994008 373868877 615636442 599588415 888558841 184091740 620618581 400410608 348424913 119958559 310533354 296668358 950070195 591578087 648557012 618606227 297214982 467550214 655977402 392801196 388689623 513893652 808070765 216843342 635331548 221414469 816548454 228624711 967291387 869753407 304018121 420830961 445355088 410092611 701564911 192783363 117217780 385954272 351893721 508388902 265563771 450492690 130990383 270181878 768326636 170974413 145967419 950319128 946375890 649971546 412053884 424552621 650779112 717245259 312621389 560501757 400040793 626890598 220266204 788549239 714761074 916920729 837736268 341754416 346685862 343872738 190024087 459579275 212462434 714682163 972533033 362560785 781312862 739698583 532058775 985746483 108179454 252357563 411349847 113124020 254680011 611961239 563293457 896023735 255869338 436602535 191514067 283638157 101703813 398612233 576359570 422129630 739759237 862368211 122773470 893129757 472111030 145164595 580401704 209711990 760077855 157351572 884336017 370997466 518253378 821664462 435892120 653069936 443265942 790191458 572644365 635104171 754758940 683631073 176247998 850291503 403247150 834625926 811191536 125255862 122722812 741025619 695212800 831966780 617945348 549949586 427590988 234575226 667375559 987840441 759035572 611228982 594925108 300953669 430386554 323261142 273076958 894996469 105742292 236102022 408393087 476440248 117480065 237991848 772483839 952345021 482468526 747338836 359428293 953653386 337849329 927122429 728472541 599914126 760960929 634795305 111986499 219669692 839082167 139201632 461196139 115544561 328015009 590895589 335213377 785202667 386244997 394863144 481051352 442925122 124606257 479647149 793343639 521987845 307774372 645728585 168690796 610162573 759674731 282775092 402983986 412085727 570454228 115382604 862074432 902271450 592324106 673863917 255410280 763154885 422999811 860748528 558323629 374527533 710074177 303731667 308760391 552940725 276706099 491310416 286818873 477148319 943801586 842364611 540387378 527041337 337168721 181056684 297880195 610718766 203460367 431146285 910651906 905607659 206588528 666499322 168738288 677398917 376574040 935298325 426517187 671310771 305869348 455550990 573845277 390392472 692519071 835795519 206669131 231240880 588324508 248257183 412692211 573385319 230968114 193112875 166704041 472167038 199507777 986522584 632188910 970170571 722457846 642147069 168413697 192305148 534381102 455539047 401050727 660823476 202549761 761307328 983009475 731301476 318039877 239959796 140619060 487732520 182143169 710850855 508862024 267063214 390102333 712404413 581780828 829214807 953146196 894725827 967753024 172770067 117181923 560226967 167662250 375229735 184431184 156012884 194835775 222979652 104210092 761548720 549075800 809159745 180629004 535523742 288985173 513643321 865881309 625128123 299007765 794795162 947951862 479631989 948172470 177435308 378489083 851744333 120789494 632956481 427156038 812423324 167614362 135727153 577032539 905821817 668805884 346502524 558735832 194349834 329638317 934429539 216704339 379885907 542988424 891961735 948202742 450844056 583692837 952184606 359288409 925207707 908520307 220857190 888099747 466844536 863797093 331505852 377588999 505061080 690931911 893214222 938254311 830438715 142838680 106455819 142870134 899382002 352825585 148900250 736422355 574324272 469855990 214965841 256462595 278371719 506060349 890760532 900537711 735103089 672094038 761467598 768430407 986277110 421721446 426386296 700954576 969670289 526228665 897693238 961275642 886316786 722450024 268599073 498300721 126402996 558515766 103415509 570799901 381942187 187959567 369251412 499062358 818897280 133592810 402000158 778153584 222718246 837789494 578096094 368709723 704918580 661421013 291095879 393140721 785675023 380326097 316339879 462826201 704418523 617872757 870307318 712688661 820256655 673445706 833703934 398540507 260054269 541725366 442390905 399231324 360117484 302155536 443012908 754022356 531855653 846160554 476653595 732448003 216103439 489493924 761123071 204722915 465852909 438220421 940341819 642452432 834562428 636404273 786266168 610298498 876735981 207204673 620528149 268856900 509188409 847023757 844127559 354951080 252205712 721435921 103090670 689439338 421525712 157065204 381904489 321419679 688641776 662369384 529147559 676179053 315636204 993561296 216074461 478470831 371639794 136254937 310612557 824944571 556676170 480672492 874515634 148603455 764689687 533969926 785520595 580921403 871242392 450849813 776836814 665707830 920472922 917879210 455010158 770207504 192768693 192299710 936674662 804697369 282390911 345355364 824319511 657563877 902953258 994375194 459408658 758549195 390220113 808541737 843741130 338791896 976995560 555113208 929298664 434679331 542856839 860555311 240646971 968097700 615736524 798369502 727764613 353776245 494573921 221607686 746161832 431093929 418799833 916101647 922734287 468717220 147612357 814760867 612003373 995342118 853012152 362117045 755485543 123965718 459138454 370816770 281763348 546564166 629112799 556928397 525219134 897987844 224697057 255986819 737428842 503888082 906250556 980809447 119221402 436820823 121034516 645262479 362964388 282621471 460817680 312792128 591507999 119574367 624500838 341485932 706118877 695396160 155840954 765954988 245872471 280253896 433726292 207699151 953257817 504434521 626900101 684808560 569490678 799888687 357549086 973666817 178137338 858775915 130132590 192833733 940509290 655425299 810784902 963848957 205077604 165368012 920623113 949743503 495603245 228056769 719049175 826513818 570237826 948540631 752380499 948687170 936540133 585078382 905268736 847177408 437052458 416022191 342410100 657635034 490552198 481244276 445697939 379563269 220005902 968962100 496874354 793653779 966224666 466263736 471683589 795221084 215821438 445834515 729550546 852629318 870953355 345891312 211927826 399869352 969132218 252901581 485327246 639466058 375117940 177922381 456598083 908936889 431088722 872115192 465099868 188290219 903950412 169843165 851130541 115575028 542033378 470573363 168835947 173018515 737106569 103692987 563424905 909711842 798475112 891885730 150792925 422435015 580752676 844750313 713537421 177035449 950887191 664410752 979920521 118725725 663325491 617382463 867440643 203382830 875040716 974244720 760803045 962824458 389786872 802015523 485957725 843268071 361639851 609907574 980577677 857269247 266372538 283715433 460807562 653256933 501751224 718917902 760168880 860408247 685533373 464972064 694221685 871807031 211591047 206841155 359905804 153791507 720332390 823199562 204889851 697344076 948649426 817047202 141368674 798342408 458151626 664182434 384176185 588589856 247589849 789187345 625016663 835794393 129529324 655910293 108193265 192326225 188799613 884704090 819731354 169522546 642909260 235262230 380030536 477521686 972442923 994760108 770961332 796381222 904429399 324821767 393873527 685554910 635052415 666893710 141485982 368666860 698652176 963695412 714193877 372885119 875429952 179183035 177342488 709346863 108215889 271763134 774988054 421877274 960664947 559999169 381043286 566230878 113330444 182632624 142222457 906701156 616524751 864045046 767568198 866685183 623683492 869309433 127031596 548671052 675303568 395404828 640651146 328997000 819957356 529298297 587023481 396669339 438411138 833944380 566524569 662618909 814140025 517946254 312478591 316145196 103957179 105155681 285950635 416432041 897433810 849348084 643803561 763319638 348433120 554225494 553912754 465893491 880117527 645460645 109570907 614237175 635156102 901096248 390768047 996106295 414352365 426534912 983179704 258300926 854877498 934445464 642243988 368368183 813993067 394364201 145368197 913334006 123648343 282193070 560895703 851530686 528977719 676975468 694904071 431669293 783855504 116490357 546696252 146003644 659785565 370859277 914886227 622113296 334069366 713046784 429152701 272274524 636862704 200473488 172839516 983497956 638577518 775398290 368809899 396047281 262249373 431133470 540956747 526072766 379851856 767091374 458777558 319851252 721908519 341083693 499766282 646350363 689698023 463832787 616862958 672370138 501013027 117480352 879814200 912884030 388308212 216850453 700375059 492534896 588038683 156988416 612193801 745113424 235423314 960427404 477442124 186082944 690403189 380623091 191813837 570298231 354745200 511084489 881981711 424031377 822207851 544255074 840316443 276830195 829569857 207773828 581403488 383374600 455001994 860000950 301718578 277460612 525201068 646218212 904564457 785037601 267466927 438058618 884087827 491548918 454643315 629217188 936503909 516619918 928976471 711925798 753936714 185050183 402169175 640133929 406764733 587982844 653756589 613178714 386820682 959449885 281402483 792583433 959077990 955729914 203672207 314979173 904274161 299746896 310414947 586044687 552102705 855149900 113538694 265442648 140869828 453709937 909094305 285260423 257664418 211926045 207170570 461012933 799953420 256670769 743167430 918976600 929169275 101595901 941565299 334678041 792248547 278529981 452288951 841720125 365350819 866051707 912578649 539941036 552027825 883356016 750147254 451289470 101514707 242266873 606185401 278370420 220316835 904818367 902976460 280743060 965782098 231267812 484966909 319069843 763515986 184719939 998586236 931570792 848321294 538853021 573462530 544640130 552529788 794070660 788415384 749412657 800211339 995321075 926144524 179116661 282056578 312505854 397067399 458223583 474249288 302808442 814434168 588486286 531023113 796460994 342675372 939609474 748782150 350151051 297768264 506234934 200191316 648814134 362105498 385854522 266601804 493293519 328806875 745114966 786268652 168223858 814238064 300733577 630388152 553325757 858284976 646281349 401052783 674052411 950230418 971911958 733657202 850729434 301421537 501240075 566047793 214095500 571772317 850611295 714819452 561540088 415941183 968099125 531926434 723388914 486341588 349623374 713654664 455416760 702568620 486211205 639469329 795747971 654481217 596131657 553486254 265547556 134935304 433683426 706190548 343997694 918756061 208481875 155957486 888942329 817692287 420054199 839079302 652257583 324902462 910952391 565418221 202941214 836053696 800220880 666053682 179040375 795790633 780102989 313984389 681796343 705325449 738250466 950977840 868363970 121362984 824210222 529048458 486811857 430695289 777786336 881008403 234337238 522091811 581779731 697947496 266926303 814377209 789048081 685639887 268963885 796514197 227823721 282803751 748659482 919084332 923669107 623832115 466265802 420226569 131908840 832297336 238833735 516437282 484931060 806431508 768878068 582336476 233177978 190364603 601793282 968817543 482568378 621335828 863267312 525075118 281301645 867243015 114051337 626399073 668910366 901250890 479049092 169114903 513954799 289146510 324062237 982386075 611915873 971895807 182679182 458420414 754421626 911252659 931161902 553020001 591552641 376159616 926575494 120949646 541610827 721276255 355243231 141927985 250762072 644317831 438087111 335065063 793614629 934179611 400695440 698470334 349355039 114297763 130700554 449079519 276428104 104800687 202142395 750715306 335734153 713188593 965714215 173931678 720326768 594671809 638786834 618913302 738513666 213324191 380321176 230952444 517213585 626898519 356425179 491057644 974579966 119024783 784318589 133451785 580259765 198123100 330104528 586052256 635884781 492796529 627888566 287962243 999033777 568012857 672038702 886977532 885784076 576149856 144292808 203018941 480350449 442880471 143966655 509609620 107011854 877448768 608440576 326380712 158211273 556921674 391489573 920981008 276293175 909602896 668144075 208188655 767075760 426535299 187066549 475593672 901028855 123117224 296009849 295796572 608952343 324559339 809609740 407955309 805167060 844431046 480752109 113201460 301515136 346578867 251675632 920610910 272207922 400461562 335912183 634460779 360044570 111634009 431040481 638160438 270240844 401577576 684438708 317776147 338303316 465475800 620908503 204141041 602028944 606236058 642301308 856171749 965344678 597854003 895178211 480551244 662788041 697234268 611344512 211618635 585344600 141357977 871116841 191039845 883067603 419087097 781347338 284836289 254121745 439234189 239379139 369914676 678217709 277954673 624951334 375323661 269346331 953055287 311170050 113980451 108116061 793442664 426965110 922156475 606630131 449492448 665176666 848030224 899805174 101798997 326048675 298110010 162781286 573997271 245525365 804685704 854045482 985080685 850663985 565619816 823361305 183318315 141360035 123696638 598095656 175792149 702391620 420742077 818974914 210632199 245218424 586619562 168972362 670625485 537478016 902282169 867792840 781933741 195289566 602955606 502642661 493697565 927720473 235968105 535698145 523116695 408866818 963085586 727828047 450324821 724300730 122657676 385512064 718974065 314634977 698574200 583533432 439792800 827850644 269504555 442681977 600357872 234698017 116457377 339253530 506322637 997699933 324269588 147441288 953301324 429689988 891721229 285118309 214266844 644854772 620565430 734863533 544141025 996989605 423700611 487974079 497643402 968743245 823368772 739340941 657628396 953754653 163813093 380822563 926924833 877250021 349161239 767410446 314095007 388838817 727290384 858318578 271685137 851145594 474515143 378895027 633944649 300613204 468936152 226953622 546712429 318277613 301260124 808847764 769848444 123351211 622320662 291012554 501837637 651279545 573862044 715379093 449392625 247663975 443991591 736891955 560463464 812477485 398122371 140587706 578258040 944901057 994829506 113533995 222653674 856098059 989735576 356633164 455742819 570735286 285655982 760485186 212076089 734388226 232547169 872648828 432072705 287892280 837130350 635690023 716308950 633673752 194742089 398049231 221659199 595432784 644179836 807060624 655468576 274578943 634325470 685924535 625255801 407734587 106222430 639308662 871074643 206110201 945678301 246539684 537644240 536124039 933253307 392973561 831706054 637840476 103374417 559369126 351737410 509647214 334797400 621811439 660084165 899741307 646013847 385750945 512468743 617777589 967152132 294862569 917017627 141747040 415281300 483372027 502638361 405835957 436450461 268054388 842439601 482478852 394509354 754514970 475680821 249213000 802655324 332850104 310781362 548960522 970441158 884388211 969897352 733716897 277931644 686913607 283481849 438131590 163729605 853698573 885046357 813125998 192446169 589646360 856443606 981802652 652861156 876871643 235200505 616535905 735392069 562969882 169509829 322795188 449217256 581388756 424693152 290353562 859935057 127850226 207815710 395733371 217360999 479940546 373450640 556191565 401441714 111647575 154034430 914094449 343806291 837590681 520081271 475373731 185089293 433464905 350786183 712937960 928353228 929176018 946948513 143389821 693328601 100300618 207793267 220714103 131892102 827110017 742224602 127597324 500543703 393261056 489465448 695165850 170107799 989556553 820321619 196898134 308726057 205254644 948421147 680979164 434858008 950005867 864765872 730921282 641706961 521167886 476029147 316563026 245277987 663248576 820072287 801829811 560581774 956102189 684600922 126701693 199216825 134868266 992755011 686768316 962131667 203136307 672492193 369448802 471725557 253793187 295818135 601914056 216586194 254386401 427598515 791913250 757691171 486104427 273922537 201797366 831723447 137023219 659240649 252781916 630826328 913254199 143278226 147331128 454106774 209357237 555988034 443874996 456243556 665813425 347780308 157265962 496157219 802243259 877467770 110221082 145823238 172477883 870765219 646959780 228255041 877935587 879132432 413579618 203995476 266811723 793168565 803913812 164526356 584978306 974203999 820157668 471298631 936488810 681652507 800599681 835665519 876034044 522482891 749706030 151239738 524526186 996980278 445936113 174948591 586862802 459845674 671469567 541814656 310642017 751627093 351081094 572451736 208053235 596535620 558098262 399930866 888289705 286424779 344314903 353076365 562987637 841606808 204039698 415821101 607009401 133856805 164470490 344785865 494827138 612394087 329091342 403459553 837667527 435954563 822786279 348940750 520943402 113266869 641957206 644156560 832048507 424745280 192107863 929114729 789547685 309632951 908448237 708748132 907005958 245868013 761694794 966699827 172694304 873142137 802302365 580762854 262066348 252767566 645265038 877661100 387482496 371926902 950312787 247590888 336809720 122335411 886823432 861901535 661890756 126243687 797412477 773774041 874103295 295569472 380002630 615751836 726775820 754182885 364244908 724222732 857806422 680657959 696482456 340918112 620822518 744156409 362404397 443037430 532486922 692256906 920465714 457338964 554675630 870245419 769013877 993247536 698304073 373184830 402529554 479873548 688366559 846307019 239252998 331047679 569039335 722004494 521166550 175943522 140025896 243330174 692774369 640324631 509092957 369528992 676725525 552649251 293280754 942810701 658280273 323563326 308988525 333213983 792170768 197173611 487489595 174418711 375067381 389297092 309811255 515725220 447048506 679235898 614011889 394050862 685888959 248391763 821106275 720789893 932498548 556453263 641878808 264768539 710825374 296980052 356558243 776681419 426158735 285469116 524357165 131083850 659596751 122828030 293042443 761347891 824599941 783358245 757434646 175062692 765629194 604210224 702858140 439370099 183514544 571815939 857929965 286568951 673086422 395634796 470393790 690709432 996738903 903041725 938159051 817690646 996565151 804374878 212012920 808580289 807448408 729250383 640975881 859807848 983408645 893834243 625580439 329263703 229746517 510835852 303965258 208581528 307453452 978743757 488722986 653388801 572938178 209573664 992113958 379040533 664298524 179892936 417693329 889500657 347534718 900347311 389547263 679682464 630283949 534082839 516525083 950803194 265938732 973341767 164843185 714223421 975481622 671528132 959191893 944680190 752078698 451559432 611679855 674223969 859924094 278049912 516604711 109943501 274699078 618254338 257673018 522292887 530449052 885453237 228655178 476092157 455329149 563116537 224974295 275493517 255871692 894521733 347100067 142691731 151939707 124758432 835747258 214643531 457264670 518581165 745366167 380277417 805443953 663238342 290427428 853292909 335890078 934643384 647015231 139245401 632819497 928860448 702167247 896976715 418001119 544553900 608251062 443321821 134935394 464018302 266380770 381914720 825492177 851174794 115071220 214171869 599352976 407219665 818010823 744533151 730851920 330381056 444673230 384323489 446879250 334713173 718480869 513758608 155619429 641597967 779403080 484935365 193932988 240674868 534570855 741658638 634222344 619153203 860739890 627976995 229147735 347382779 832395135 862422734 578436042 689603812 533997916 101869629 397982077 284022582 797801628 260135106 856223413 271573900 106218794 754844294 222378272 114106695 723369821 277140324 788706174 464491656 665879478 193973153 597387977 317154451 756094531 739800848 904362386 824791358 323042968 674157884 663511261 839163050 519001397 914320322 218368900 661282938 725843550 820057358 498147553 984144712 757011155 279768090 978239122 395704355 770514031 650699135 475303863 498390047 694032026 128977963 858800372 745494421 558147059 348886712 511069125 930723708 122459504 663677970 494901600 741452618 867349100 795645644 421070048 598280637 137620421 194041521 398042748 612485908 268715284 202381838 791061770 480926390 489969696 319064940 682224362 183758627 136487617 425416755 802570061 858779164 544646705 501538065 102891369 999766279 302674496 100300760 404124578 552011679 631282265 258602189 852499097 619574500 668992518 598932060 727782035 369226491 238040179 108959637 802679867 346420532 149915817 289011754 111964121 299245067 246303091 597646960 459745577 338192221 106241136 205320195 156020984 526470817 543785381 899832484 950148051 278080847 991078550 966988978 758250535 781925172 284420681 916409629 605586035 118827952 179211138 997538741 226441471 177597837 240738103 716603655 735133124 833886447 155568816 190120660 370096703 563552557 167052406 247297308 506358782 673800860 986940682 972963669 555696174 581984354 399201818 216898302 155589658 158218143 382839916 517249777 761375048 297869443 581494501 496815796 890116917 391241220 454242722 644385977 291186981 638507850 657433658 910330455 501548069 723458495 491473578 766477202 648708172 198437242 227880069 503886588 452183816 546250960 614992529 179006487 296968420 513356514 119933620 544646328 664554149 417626117 880122587 344997506 274850775 167170503 178401318 846645231 842200530 213045947 838974275 370449759 732822821 244335273 860640502 643355369 619785422 894406997 891758234 216512243 830024136 411540886 323238442 598447256 718565394 398382410 982793518 596556746 148638918 556635979 799512773 817480531 454156241 836081424 238046596 104918628 749547813 164202613 656022923 862651181 914988379 763117737 968496972 416404400 101682133 642588442 983639335 298123714 230318767 922689826 512193184 102652360 404113878 284881144 786790099 723209440 774160306 244924568 127228864 164444059 631879694 261111742 279269803 989020637 354739585 139257775 190283362 306792395 572466710 562576683 971707721 802680678 539906820 838898399 822662379 703099828 123970185 227861886 364140274 949499952 210415984 673408107 486516364 746551024 372626847 173215906 873198716 526882330 744402724 764542309 489750144 703202942 492716322 312708694 195866469 804016468 542864457 351785862 376427410 977434598 561597408 618141877 595502630 279416705 915205976 301186941 223053562 673197557 324409057 266995584 758151284 918592200 259900832 815268652 568593867 415509822 962243195 261616741 965729410 541154558 540427015 128366496 370370383 989744345 361942588 146511213 201960564 843294890 132913071 462155089 933842647 791072912 615187279 174271290 951919486 815734583 868815883 782274592 600261746 862096880 766034195 315468875 148339521 221668991 142022452 561088553 223624766 502162627 872601575 932533925 769307611 555495354 182051780 963323684 739693138 342317064 246630973 509317353 987749338 750307707 903028049 261401611 106006320 722328308 731037371 328285527 534412088 402865774 744517721 379959809 690508026 621718197 502309117 737876401 625048489 522781232 598686966 786464602 258280101 921787960 192127369 128330532 135595206 289675540 509326343 389628936 844060404 562605343 776052253 663200089 297804148 995483223 220843623 745239881 826290731 717300958 206169596 119262563 142558783 713015427 427946991 846278708 685067383 114691386 244463201 925901413 230237745 498979641 790977582 744011269 342131386 551282596 176506142 976506402 273048898 860504120 268661820 878633929 345499755 633510213 310284960 331860305 713078453 189577361 458156133 697318824 119273625 485710245 625477832 844439015 885648375 668040486 993328791 361039827 380393459 793570996 994201782 877327487 450144866 578941649 941074262 146729108 733582606 818686704 945960418 977046378 683264323 264065283 599186629 123691996 168757941 115126990 915605009 975471694 992080275 167806661 619786579 157227496 718645803 442510652 585832419 467222895 355917388 643581213 374747940 527865461 620985337 669035339 238962000 893432103 504214759 548145733 962359008 779111384 246188841 427885048 643941697 170283621 816777682 419470159 457237866 951087837 962481925 508400724 367613546 247448558 898722954 783794801 157048552 915817527 825882159 499682371 363397867 412638323 684463921 871765698 916015612 991917741 276954054 205025538 950120179 385539583 595499101 825858627 160624968 191780447 462998324 299661776 375871469 416083798 493862842 870597914 229881215 805274455 923466618 213497050 776648898 927127684 146152640 412733355 335769403 867661760 363827142 903540719 350557292 723010340 463708929 577161649 907813559 328629058 895474895 464812939 232127556 219709904 564284636 889337426 242848331 360266436 773401041 316505023 626369002 878009073 847235689 823989065 831861093 871769641 619054155 417894945 712247811 683847042 580030902 715060012 338966512 673802753 403168699 982335433 199169638 401081683 959118761 277579549 669381011 818312478 111304678 844919923 552493318 194575285 878449510 164335530 881544458 153277538 546760222 973000882 127462366 135076231 967189047 267962900 368344580 870180138 200113651 998948895 389398791 555370928 968482322 183056974 669271699 303419776 576865122 999107103 326095308 798271536 149519089 744362262 660423306 584969331 597031492 768482544 924292555 701199177 801840291 187665060 199201943 131014132 379775263 233457938 260269209 874783537 560597714 161386263 985751467 924393354 844397035 782511629 948812040 136405980 314847117 757233951 560569843 405817002 393898552 470570116 747967362 231426199 440718805 676921576 318607472 772800990 886411911 160635579 663591023 387294631 598900704 204736362 424474704 449116904 261150860 987683357 851547303 694077198 126321704 631834414 967825776 161737299 692404153 199753021 385435309 954271802 199203020 915942739 829270477 257948932 567974234 573848989 790547290 104028618 636845928 155617419 357198458 215661610 483910169 824022521 625134210 552761141 416666885 626261984 676543979 221303135 441845275 741558184 302118248 373727294 397112291 647260830 351586258 940632441 404257345 689974133 403111405 520286652 772843790 735197862 945612685 325140619 687082703 191350572 462654823 993855858 665239471 225534100 831548408 248449459 350051905 533208383 273290820 639515443 633964252 128550701 692316713 770610049 586165883 489912404 387248172 547518596 429010315 564557223 259075767 458614497 410315273 671798004 932302389 257289688 113796142 681323017 824095292 329946483 823270760 394991872 884928305 202904984 156271379 666934817 636006657 593559147 237329434 646244396 955725322 133164133 904244159 219074355 379011925 259833990 447454405 736470778 485520332 784790552 647082383 478814309 189628103 167543192 283594512 349813852 902123397 552606050 606549555 341401178 365311748 370231178 214170439 321717397 749005771 204339983 296156460 197966179 971512080 551415886 444156680 336587960 204609744 645146741 942010581 942997142 244390947 248255381 697849062 819155324 882247664 615813629 332917808 483050306 967541248 921259979 824409785 731887968 785608076 319318156 130900788 908133822 478954255 948869808 822370836 223601082 299366930 833881870 426178915 144663827 626301887 749697911 690309887 723794595 969962497 872145819 261727125 212310930 133896261 109634793 335790081 741199642 284072985 902307653 341271631 519373067 494808763 634511775 817348021 921535505 100835585 936410857 955301915 183503465 869839959 812408520 712740094 791035701 391788010 691810622 292370923 418942296 826028167 914466137 445270112 535983553 271636144 598710251 663517481 470478863 752717683 246675383 274272990 856539123 809561613 677943717 244168537 638458665 889453852 872871216 569788495 659192369 740649012 403485498 918294455 152087578 623685262 288452451 119108124 123791348 777085097 821912194 562591820 646714953 603952366 646927803 425418793 623430790 726420957 321086986 707373449 857248536 333953177 811396653 635534197 282373832 253402419 969638496 189010102 341274859 409643890 700070443 951401072 632439647 687400599 719210521 807862343 772654857 255148547 900742177 157643289 836352213 112273749 786792379 443632740 444681299 106593187 642238197 762292511 676942756 743148367 910685742 623570047 846929487 576975726 118771156 906453001 213929247 125847636 998520716 188798817 842489311 721018180 876407379 452070944 464570724 513953812 428724616 306910868 825489856 409905170 721235509 800945509 479751033 540482193 134802182 256033278 350824593 404908970 223624946 185406661 253416142 906678841 746773594 277633847 213233812 960861088 486126028 646334444 743675859 171170640 370580329 335300357 913772446 503049334 638276623 693478823 290689825 252685297 813355310 250111122 799782290 191356781 289867255 797181887 479856641 710973788 568694959 556667730 860865426 418973352 120479175 312641904 525610489 887754059 864492155 339670682 569455016 856864887 926199967 392710481 440788899 934646987 793182003 432660623 668861034 740708845 841520706 526561109 670339599 141853379 270119725 763520510 133541270 199137852 237914668 501540464 428186446 463366699 593246670 206151362 822327821 550114213 929644195 921001568 686374530 240603014 271628314 703590714 965882561 291451233 892026361 978085174 591324499 740301628 705626556 188857783 219680980 616932905 189808170 277215974 448052647 139168168 127055600 142383749 518460409 412808804 151571681 871781693 542325658 239869145 769541136 257677592 622145621 694698197 457828805 154473908 594588656 420481931 260576727 515725580 294302863 331228577 757924001 130631088 173372937 121835265 494085061 682270087 529213807 837660200 936897430 729391645 390039584 615455289 542503492 519846575 913842798 378034592 457330881 396560840 321438751 598969079 793612265 921015569 721815990 320460964 441010299 211888488 156882740 675898250 729417039 463031485 884687613 916508316 316708153 701448811 506197156 664316884 159766931 735751587 696335794 595858721 479713830 303366418 806757092 610865339 280902348 810630843 217717043 136397946 515404588 266918986 375666712 342041334 342942082 804805785 773722147 907832941 316739244 589181677 362687457 169603860 974848591 471160690 310044165 245514410 472747533 755547318 394740857 625072114 243570030 457111193 661389230 104450271 357581652 266378173 409377409 625783096 667880406 760343628 752943679 860048304 870980947 437556194 297185523 747140708 161338228 996005186 262045805 983630217 601279960 143668872 640062331 400289114 548945507 526691009 336185469 592394976 134070609 510748305 967875883 383861792 381051994 819046828 861928371 474654309 449508157 396909324 253213455 668174128 947022996 301972268 697144317 753175531 201148062 992186733 265919764 510357830 642661797 291014302 215636602 335215904 616548867 322736398 196505996 931363279 329582885 808946363 115411974 538350296 427554266 495715791 782299239 486278845 983265871 565598075 884033962 807780433 726497188 220928771 961337048 915400806 442373828 744352062 635535316 293692418 680898815 997025025 462863615 718770852 236561899 244854040 110564218 169426638 737784948 382747298 622456314 133128778 106285059 520390331 480373375 127627886 530188712 461319209 263058661 561729747 292557153 341204870 837086962 105769323 714053149 550187586 263697541 443339441 259394114 709256710 449392714 818784551 228852443 393959437 911472312 345681210 114827187 341074592 464336870 686400202 304663730 542547369 646095685 525556722 290187234 730790315 500620201 459491912 771823039 528248205 989597010 395924588 379223788 239422663 202705381 541651841 402132598 937865555 592023700 376606353 851670832 385740123 401360336 132843735 802729376 665028861 168851465 581302798 351131151 892085031 939279162 294310716 692928737 362081851 401550149 240242569 161900268 389857938 265197587 888032726 908692649 913823250 141337964 889569093 203171643 709948920 105687857 149986563 925500868 691254440 796533309 419953200 101018778 163396708 156588152 601603398 777646748 634459361 594312912 391943040 835055701 599723040 240580721 116945331 549942780 254015780 750367096 391798518 329144368 662074029 513584428 563737140 932400086 423801746 915550692 338542422 971039072 540987852 358267186 612389575 670651794 481284415 762490404 138761359 394980490 666921746 885793541 498055481 215227132 930763076 499853466 883642835 625847194 266098825 925909324 578171103 770625884 493372652 615965301 830946320 252482188 205956790 905943534 590281778 139135981 256779622 283727197 389934171 666032119 872512185 875245203 282851568 252234699 742486881 231975025 228420731 627884856 647485987 830214122 209306285 679877540 257852379 764454043 899762563 272298454 270465516 768956799 223506738 166656151 602788670 997801741 753139468 399920668 213991546 449754312 315704200 594468578 110269831 225747667 264484688 412082638 630955826 542683631 317082108 794361690 737054973 294451180 569211690 115576844 858006587 746931545 518969521 270291495 288061265 734159269 759386429 407592195 817570237 820204966 693321502 330440907 829954310 677903561 957791798 870266448 174423110 823942825 923322152 106494316 454081974 716902975 814101969 181174986 293251614 593880358 256739341 307483524 944014730 367072369 936017613 204163852 191440109 825353966 992366775 671405899 405817774 294912373 695995870 119482690 509940693 201116683 410657901 673295589 905426834 333034048 551140730 755514927 742584334 529951775 593434668 154949505 825609146 342655415 651335541 240028325 974228759 733868969 278555696 122401682 840384575 401927064 897398141 249167074 389381056 466288895 586739138 438607871 579708819 530372277 330798074 708008877 924154299 195447442 530469604 243294788 640928917 433160029 522098516 749833791 458120332 675160000 240361424 565840807 990764451 246502604 367734753 336943081 966213273 369274919 490534365 849668427 223197759 123328046 968317898 236234620 464054184 377469114 352792983 313636925 803774929 214153086 897781172 158430542 373785581 674934716 852580235 397953866 425942939 299737941 507186880 747629925 480262354 478209195 304788988 840252136 770289839 249421533 917579384 662378817 937316561 997137221 557114020 846172807 686454868 905964706 294471026 823063082 266202478 605330296 816572075 828196416 545237252 219969122 116316515 382541256 563166791 594439695 669019933 804604186 745414209 906836263 678355034 705237708 232970056 595861045 360165026 261925912 757676427 671366358 475396541 946314999 737286788 435967167 582922196 213322490 883856815 468001058 207764421 812914908 511009110 934843399 108544568 207412611 584966578 613048688 611907396 261058901 731030196 809849427 852923676 613900454 760798235 756897389 568378882 991690697 501046777 888367056 859301280 634134523 523341647 713482640 912280877 471910475 524513826 573105792 408846819 663180875 376664167 760496024 690062538 270074372 392105510 608472347 890841560 502162496 484614943 354143319 529501887 835714581 756973457 647705598 770988274 265578062 759961056 127226507 749816183 480678232 235746371 486659415 674516840 997399061 453506135 431933081 827521706 944946182 979191514 725153125 788101857 379141765 975473586 240720017 982173689 894567521 425246481 196913243 270797070 350270314 784445297 173842578 150411406 810932595 441057125 832346364 280157916 573228405 605652578 313556361 966541523 277633482 691975883 708496804 110115226 507448172 383087224 232554859 442299540 641987348 521836581 343539448 307811787 302546723 800897077 504214566 178993665 731859186 445740247 992539107 423979606 349922778 169637381 617670702 950890513 998247283 174314820 384628324 523359026 982760988 979647961 299421480 706565704 947367900 959514813 695386942 255724427 658695742 310892195 821001721 252269772 738738805 101636770 444730879 150006558 942960599 240885449 596092387 591196806 575014670 135024583 202171273 132069966 356543460 837194914 137123534 113673351 477272431 567197908 163063405 547563825 424227978 755558766 868324137 564116375 503552616 780014895 338869877 408811964 656440798 719691836 160969798 360417808 197365797 769603317 390188177 285288000 358653099 845433978 146550319 905123219 501561162 180867058 469994159 397828235 946868814 451360325 372649162 314094683 851009271 156040884 273332490 977393503 399379505 195302294 835878759 587321304 954205547 938307099 897237642 847429536 496153885 374037364 130574969 130368982 552586774 285946841 873134688 384600755 281146726 596725788 536902459 591343621 302015513 797805389 204452550 729468526 848396507 789942210 985871735 812221725 638913489 994752561 648957738 204465426 531487352 454586155 699207704 413922908 886489479 988740590 270287891 972132684 506583784 107760064 499506952 990250004 621125878 597059982 218718045 477220845 306589489 606592032 348988656 895568545 403925724 778008495 670144390 934669410 247652753 900555797 751058126 404849283 497001696 842675136 356609228 144795119 723529730 664906215 790419063 792972257 236636478 547592796 270677123 684107538 286404528 702760436 457964923 180140428 915624313 927445758 516521381 588139035 171078817 313343355 203666420 815060695 801224447 572935088 662390135 561932480 650662622 302759082 878756238 840140121 679519631 107805033 177126679 985504120 721910543 243337649 537969207 632188412 323970008 715201385 613046211 135254553 376415315 617218387 196466643 563245012 193350925 572524560 293560638 263852290 724558464 495530748 407941233 526352505 785958204 363222491 718530136 120958880 360195390 729544576 962793005 938974937 743501610 566849072 867011620 289794525 117283511 783872074 714758486 394838286 770053351 843937020 567144146 369883729 622553618 786890911 260396513 411051319 215380512 303005621 602604465 945425006 520137478 586629655 750819092 444559523 604805282 825973336 194395361 266270382 933480341 459322285 898054265 731724424 224810623 609548369 355372953 978259072 524572124 367934825 259958340 894391216 986591621 736274862 812029386 652289824 561613835 919196377 795688798 703610930 705020431 693371857 430849381 363258477 850757301 803871522 609726264 955825902 588903598 613983568 696938168 407071615 434316001 581848774 713487709 140817478 334533725 639429404 864331731 227243582 953946905 401465366 123177351 637895752 667415796 422106510 305915736 306546222 990118838 855353609 144463079 355308120 229497415 818840939 835911735 431485523 984254005 572643924 835093858 352954137 563772162 374181952 496380870 404489364 339256293 120117296 384123802 401589403 433120771 415373405 562152248 726850229 151686763 342910379 760398584 457864044 580314375 629270272 893078473 940948799 908152930 508657488 827937298 814891160 973831716 396293241 498317350 826439279 769003410 289448006 144810797 615899456 550522075 945409529 839441922 720970235 217538344 352472373 422991345 445299011 317440626 181837427 160761458 176268126 326166664 503074352 992041200 831211328 539612804 671377419 634918454 497148964 738632539 852230460 436204765 531475232 433415060 752516564 730329088 713621744 510070722 826894007 564617080 788908408 533138651 252898127 169648537 421726941 233061654 927565860 110514710 884675808 712395712 176297850 964673086 139022078 783758318 251779286 422159980 352227693 444502068 346161020 388950181 152465847 705265077 258401213 298803598 321999794 134004895 828702556 759458469 852161855 685746792 555948141 941108197 219127566 332151180 744033298 572283650 139682981 653409087 573274757 521031621 489149872 230436982 297078099 336686772 373182732 980707630 546010173 938015807 187572268 693880642 715991301 120937633 420970449 150993903 982249200 280252674 522160802 763460951 454549870 397380966 842641098 545729945 668403930 948855654 174829517 316106361 809520905 652535510 198252322 957961819 697662220 181184083 764640094 524019876 950749032 436719337 317260464 660237954 864914219 287389486 101196089 580114937 938044746 321012648 683715880 226848322 378474790 648342871 342600095 790536921 805842195 861807944 889011712 523832089 676620568 186733875 352245912 937631427 343964193 349799490 108004855 558986596 363868961 458829523 262909950 452906510 702059401 707285361 578951311 348242017 223951264 155643713 672106465 379820774 666430191 325526776 958799536 249923993 558954533 581639803 270236771 191234924 707168271 212451171 878519926 897378776 972048939 659805120 515503684 564312169 442692564 529723262 559277259 670968908 401865913 309088106 492278227 733490285 643091089 319738836 605860671 503105617 343220611 151999252 573923421 829072385 464227942 535170510 478888567 672451487 782169568 444010323 155855379 176460040 845408096 126774667 935138128 754970331 935484291 483056780 177468836 273668675 316119050 987716945 379679848 382099400 236050405 160499356 840969857 730912224 893965547 483714739 768490291 483957806 117841594 354022959 249251039 709500577 196653516 364643706 394232827 765765963 458333459 228179947 494480731 910687039 475107974 244123269 671570040 112067436 331547446 536920191 893185716 454940169 599765856 298735758 410406759 963142478 520305634 578922121 385548449 845615388 649867348 421288735 339447992 982641951 724640708 461706860 780371041 915714510 464430155 798381461 935818441 260659379 526477001 142226134 431993868 907794644 257955986 328654539 920174377 731457030 536413289 715952912 864359824 951732804 953972597 666156616 838130362 906348781 815951359 845903965 231643443 386056611 518980435 783075483 167948633 558216856 939827414 521099106 968574780 511231047 662073004 638744633 320758441 678268561 391773145 342344058 995107726 919885408 911971517 752625941 389276486 772586948 118396405 652958729 195988735 282832274 928079079 661046464 638836991 680067064 590371854 945089653 769677873 104861772 267233483 235862447 742723154 502676881 634790127 725578793 478113886 859841834 688753105 734958158 996418572 204930137 135096262 287519614 991370993 666070755 840089581 339922145 753381454 438397930 999329141 865391734 455101639 240660297 951270683 183858810 684108937 600230606 353879213 458443184 392011361 577395966 581749093 179157088 712639637 625053919 601182411 355410759 779577069 990405516 498095552 528547051 928332108 780429261 234899537 945552264 645379054 780203453 907268417 943960098 496665808 140105789 166169218 193748735 194018027 889578706 347160283 265341753 810473114 257427858 168057315 958038388 490454083 438268170 555124587 721552711 510453750 669465456 406008406 383326889 417003452 852652128 297775510 276138952 393272339 405428478 614004039 179126847 855340199 652105755 706303622 257090421 802464383 771197806 513826351 956935687 702574631 335252744 917600077 468146779 694760562 639164837 982974528 776668521 988158488 694027313 552810847 597303077 792457578 743031020 362829126 293501180 603587314 759566281 428409554 453014436 416668760 427338763 783885150 572792984 803718751 618218574 972542387 786923106 172701558 965657664 614829310 946468787 242175758 297065383 721308307 443545476 271504014 764722998 361828357 950512334 952680275 691442585 473332631 856206992 618038751 887001850 558552992 790584362 576070982 995420003 655741293 753024207 191291982 976464744 160915976 627522922 425446088 334749382 155456576 352210168 184804181 995546002 557147256 639578385 634074915 461556765 996363370 509776151 623368095 622869154 378622721 375371774 528596356 110041239 361410683 991074064 410186347 962037993 263002440 185029395 981487218 257429687 350358436 809615221 110462935 566624460 621068600 712505073 397984049 567872491 352384731 935110863 705373861 261422450 524747957 745738020 110900953 552837669 450475349 618853395 490060856 807539074 900550076 682189332 478483889 853274256 568908283 353598551 351073360 587939156 992934273 168000197 802082096 833143792 532583192 569758611 614556362 301824572 235938922 185314298 381241056 402832148 509575174 944123579 669508921 998090239 370243811 572096266 797529303 264418221 635431224 295379257 412643870 820246380 312833076 632167006 454320009 495310864 624238370 201130238 212993092 520435786 801824822 722210087 746740700 162679512 749434814 646374618 537828236 869092895 659268184 217716181 684428199 731210453 511736686 285755648 706919796 457231007 789269660 797923827 670018509 929172466 799759761 563817379 154787384 766230714 189040443 711211924 117504300 359384283 582042116 298275880 868690352 783509520 359015867 456219433 749543894 588569257 226930387 172855913 576252650 743252240 382649755 478607493 190849806 384368266 188463732 996433267 337174831 655411938 838118422 807471449 727142278 252369636 861275364 337281855 926600170 584031023 213273598 149869451 445138092 965788797 206868448 850850143 922746734 509375918 894931654 499350256 332100834 774182841 413298324 364078056 345140890 238665562 204297499 488913657 851026135 228400862 680202986 763772153 801951457 412906087 382506464 414816162 778796038 473474669 783327115 183216302 249699156 822982797 350831927 154998624 798517286 969138096 880312767 148564440 524190009 475865057 150754784 272038556 293619718 285771058 758443535 247615993 555563838 276403156 940561255 518524274 637053451 834908149 221793194 785651868 997134969 324208030 279531387 564522091 871408880 577047782 960162564 368368244 482142353 578649783 300623100 611852618 245335495 875717220 169149440 231551818 474195764 238993862 196478850 396196444 673212861 963592654 919554281 280186378 210331354 473594446 884180890 475593815 634147332 590222706 676234609 568601122 534539715 858870720 835022914 142591122 407372096 717037844 552089371 695374990 645891835 484216792 590687107 532054860 849410785 538101534 791383135 407443352 991124219 592101564 748109876 538122737 604289587 964422457 238566499 991307171 290829501 996223290 646070092 429089594 579455729 746775415 565524077 268597988 146843488 611818238 654057235 300707872 178138849 936544809 418511154 346634955 234370344 830097056 838294312 159509650 421605156 384951778 133228497 264811418 155352184 358088295 179860516 355296600 138179035 890415832 633121419 782264147 943383403 644649615 939936528 875683427 236602778 880095051 526556154 734921141 384609732 213145004 468084214 978458332 163970778 438610018 870941785 413483152 212006217 930887719 243568127 192865331 189071050 591572564 976756545 522820043 621981945 202807275 251766321 287659015 139134120 234371328 433319324 549190772 812968233 783896213 208141780 885085461 466222647 790850392 783799260 474534222 478959409 947029716 600190460 683383518 719742430 647864331 209494544 486182606 121341095 120118431 914703509 480533766 286781909 562412198 428940617 891165102 138608311 169189102 485126445 173860764 269970850 322490700 347064727 170866224 447746687 687706138 738518612 615406197 586607777 887839091 633436820 800897731 252965103 816544950 854619887 188760809 617604564 632094397 110399149 711816205 460165822 228896274 724359816 540022158 262456526 731889489 801630702 710008649 776578949 555709741 763753805 710346794 225155269 972084659 639082667 877538539 122365154 707189815 151072298 861621663 172160788 577309331 580465059 707415228 326485915 104833629 862632185 207898660 279806469 205355017 490032139 362146429 985873642 344599665 367453246 801477747 141024709 316625256 145183207 533979602 606498910 485815842 860191774 528068765 357430674 778524201 928837808 170398785 105261378 957144963 959742868 770109710 270927045 993521278 200702454 268096840 290054411 372115727 378258644 681403619 597298794 913103903 151723334 915567672 641820114 239500967 379943051 655636492 568610741 550395035 937020802 498097333 940382102 320141790 229930781 404274186 160926866 965535971 543561469 856799269 417261643 959889555 192101831 604214167 867468199 647457659 353073388 462535116 244214249 402869666 383073237 922005026 658249388 686466841 821868166 590463251 984184830 613159716 550880695 339630286 999130728 828196528 958655210 493186837 136249006 517726332 433041188 161350656 907503393 778012022 177388957 551076768 894958800 554843926 917742198 929687950 638001398 861215367 957918288 657263410 842285655 638516881 176090005 191030387 749646642 761498353 219619484 775206620 487374771 111805534 665256551 672968871 976259535 917994987 162536822 361693804 282818013 780049905 774509987 649898633 787596269 564879117 523152695 565956259 671817967 976489631 747018638 932961985 930649152 284518938 963534004 146179272 163928433 262586698 149540440 740852381 374547361 887326754 645704664 303780897 988738664 123436130 780371209 768859981 665394576 985009230 368482095 615739140 260011316 149857902 641321206 201832411 820195126 393940679 565922786 675013847 555926449 504185787 453301725 402381333 313267634 817943670 993085140 574919020 138879682 495417418 896147203 933626754 417625416 416698458 925374472 238108021 491215823 909543820 554310277 309349870 798392940 215800638 500254850 108075264 804241642 599766148 715727712 377021376 858012079 556079490 642341371 415725293 743197050 389828278 837969044 268883145 445909328 908849375 475843412 770112637 499560240 421960545 219027388 304695885 175993213 564522187 430547773 318055838 487193440 321170083 899906661 149332558 389988153 105805680 526983271 371518658 759955799 416335440 209577088 122626240 663432462 685958072 841196754 608912761 864572339 375092163 636358739 834904848 841094429 217242847 361624537 583063457 623840166 250804019 354890099 195599093 787565163 387998456 958438265 151177653 297110621 834938571 927487767 104033962 637681828 752026100 859407487 269326432 529097048 923179746 118294007 780581700 952742823 848368742 344483656 162896410 579823363 621369066 909126731 103893607 209109085 223678401 303879198 371331007 250415377 367588885 183113986 178417079 825026173 447441974 114540561 528593424 587179894 486109135 622898261 762360325 386109826 142839632 525422452 954410302 998211341 479035812 790085668 749210862 603103626 534873518 297753658 975564828 525856974 529764107 676916613 571984712 584150925 646372632 370676621 221930451 485518445 371524001 371453340 922431803 471867177 855389151 885021672 685636122 734357356 114326859 819340458 956529706 336273088 745684920 808588054 674768189 874291458 712039843 649700473 173708412 894122222 167629986 581022301 928810601 357909271 333426645 697721810 466750727 158458800 218459812 385156186 248362953 336147875 764857394 647508988 623154241 136933355 265338561 282576765 670060867 496292624 543971319 271467432 411475099 553341447 567025370 608124981 614047256 816988020 419797953 402513043 379460154 135305791 128981973 610141511 945234310 413677281 568323192 837610165 449394183 824282674 445340898 293494814 846389070 178795420 723516863 371975607 889563985 818016561 737957425 133093042 996932346 303562863 218637629 154387806 927295854 430894849 675711926 913479505 712522524 815917856 378050421 432293618 745804032 327415743 665634811 585996471 376821162 316905755 949644300 383387109 591103380 132450676 343256636 418555348 813944457 956997516 377242154 559336652 824190322 943567936 294521054 892035493 207494763 464025983 181513144 985430926 863862323 950678278 331503492 274079998 268501307 823601244 392271783 825872793 749863973 720565806 660508532 224172940 690261847 540792621 505447152 384603903 639944050 561880222 955549182 968465012 213847329 688046065 994220623 345253225 574019805 306398860 703222736 975401557 306960284 277563177 198590526 329386908 301235088 609613158 468140599 590856579 618968100 734771129 920751601 825921322 985677358 734489030 623394402 996366903 458760516 104165384 985160073 615444827 948789437 288559882 573759395 130697007 475162730 810562184 307716338 851450320 675276316 526771586 462182682 935296841 417620042 374934847 479378180 885292771 783182216 913678178 842822387 793408014 985978616 590594013 417985878 411845000 304852882 111154279 575151723 865910317 412852909 665531724 726175876 770238481 895293565 534580261 266708386 693369419 560915261 960938687 394470486 732248624 248519941 759312624 646876662 605261669 768206849 412364880 236921663 734788155 168636127 648735168 379323375 869926301 985222736 835470657 923631929 614159529 935770081 443995586 188763508 751689282 444657443 378545332 781007314 930405121 138914498 419640068 896911517 804025790 104332911 329876172 613396742 835144286 340295690 393333191 495145797 301082393 640349482 238691459 962017192 914529563 374484626 544141614 479110141 552428145 250286863 503880648 574600478 648090168 188559345 544523696 679768557 329444405 863277146 730247825 664852662 758765397 135029181 195705093 465960618 376284788 494035602 209732324 427374688 736826407 339942598 320583996 863964374 852499731 975411206 439552199 849107156 228491396 903765583 797456437 800512771 545953304 586583306 172499794 308659763 448149498 653721717 905958663 351524108 818296978 835903728 110529639 622286599 130056172 674580378 959455172 684817891 647418238 227278499 325445568 135333089 899172995 627899168 199897829 735306715 223047834 986441325 785551815 393378971 740161625 455085728 550495596 119065554 457610539 729738530 208262923 140096111 944753255 917623212 572595914 397704193 990912200 656039452 992911805 913607561 207064654 405125578 932586938 880039526 148147790 873108364 893573798 802207369 371519393 312194414 917256615 777221460 814221403 211133811 590397689 705392628 575126809 455121819 601594779 660935177 624950242 682423559 332924377 761416690 801076288 932021431 240668650 195611172 929757043 302354355 683526605 553987399 181559023 335559751 863845972 196643533 362600647 806202261 928359270 646077906 810599543 695781080 256569779 753528591 436090735 425779713 600953227 730688054 221054995 756394624 402621560 240752885 246212942 581327750 643579585 293020809 325346246 560581863 717997898 267586698 237712370 757783586 730615706 554452292 186100421 818903436 569794116 585305598 773668924 744034643 737997141 241339951 706874899 562250694 690009615 264413478 527392689 934934637 160755534 889226807 119012764 707753562 775068239 800524283 172647241 202168928 329930324 548471154 903869386 637513350 911713006 454918655 878406951 723340158 482750505 361481296 662514811 478259392 122846562 414189258 477222094 398945539 385755377 251585193 454076539 587358102 706903957 426653886 308669924 808677968 295440331 221687509 873164139 501374710 678447140 207127774 436003815 493716382 638620780 214388776 327219822 319565990 723103227 693624006 617851551 827174306 632832991 583615371 151196440 541928625 577766770 843698663 861969090 971914611 835045864 656078484 259233397 773583719 947886027 898667001 281405302 664969453 962686027 711531226 211065655 273890588 420148182 766787039 397138352 506861481 533142152 752577297 552735358 797748212 324546561 619754550 329095096 792642967 118578611 312404984 502595893 498460233 563910534 265849972 694200722 760814868 873735955 241507387 756405684 949591779 166361049 206479703 635517354 709940279 846977818 274689909 778993385 437841149 412943045 246629959 893985792 396820404 317458155 198846183 152838427 471356864 612098822 958321670 884257913 415970322 790200775 257981495 409961194 656204734 949327547 341417477 419783464 797202910 456941389 306748678 326052305 120339614 740147576 369224495 405755827 453998718 284316160 209494980 798407850 134754666 450816321 558515948 851381498 592161648 558302985 323348753 680186936 214050517 951400499 914706517 290209864 162235342 219335121 282447858 645263172 892505479 970235280 571878933 348829818 299185411 164189126 678678365 181599889 992525174 382168118 593289497 455236176 854399395 642232145 666262370 410128229 387932116 375709382 596518731 809353547 936544193 814665248 416208678 707132354 625371035 144637709 550343368 168537327 532141188 857107496 981093788 124787846 870612631 843169442 985785692 653108281 788760136 442659145 786669878 169028767 513805157 886216369 708229195 317463214 977568531 727119646 744893157 725315680 389653961 670827344 834649239 844112390 739094078 842610116 339272480 787739208 285925722 295000521 630359962 691293384 768517062 938751752 115437058 708352923 980810005 866162967 419947742 788320353 176125861 180271136 695503072 269365856 770701307 693456527 151674746 215920282 829230109 648326850 143125221 404948561 461275435 499841698 543858154 717299701 831312752 120456784 807152214 141811312 116696137 362053950 717490327 919079110 457590335 672699689 199920270 329975996 744464492 552229860 674504516 637154283 686739409 987985414 637599893 324636736 210442223 464179779 324649324 356868893 973615436 585154675 440138821 143756524 469526511 956005972 673458120 552409893 403081752 519574226 709884773 126250452 721023466 768081967 980556513 968891383 643176137 460745884 954257265 401298031 428409963 109964466 480491698 497535676 354865258 252409362 748211570 165494647 433011226 469816578 202368206 429533291 470300906 873079981 805749139 897367798 689361700 437036209 220831060 438672526 177800533 188848081 645127393 922912763 348977469 144496153 363567278 884877596 368283210 423469657 742457818 646979498 444789703 720462961 590589892 165216675 499102934 392109094 781829923 615140375 863387311 117497380 223303173 675315942 872084167 452901351 988218831 224779048 731051672 422144690 965555158 371042309 389101711 640923944 473014053 144093301 502910348 500573058 509325384 195669152 380063806 704198702 820967080 141451455 568472183 337704042 342384953 640201179 114412093 459063077 808592788 901027393 273439863 147823867 712802541 619702878 682302114 384880359 285843937 886786319 438710910 235652438 773238064 180447608 291190415 134396051 622361716 316552283 314169297 357519244 893646717 801758840 569795522 520420328 430771872 137278126 745479006 446065836 848390418 422907620 546060528 927924556 407809971 827759769 634765020 540025083 834925738 547714447 149253745 550592123 132111408 220651988 866613352 763558378 566873697 907906337 956992421 126301520 313329625 905927932 687110168 214454130 913289726 198009620 927853510 690154117 775708945 944968796 870066949 221547978 811635776 955895207 307638508 584655254 826762028 358251658 627859935 760980960 771118363 385411518 580878803 912809843 396655534 973038436 166928386 642764272 146499806 443637333 337618026 404331344 739664553 855019434 422252097 323562432 943059903 129633197 417818210 224073722 768927492 177641066 668718605 195146949 910207303 175835391 599574938 958427147 365363357 642334408 629362375 117574193 368493961 450155251 693060517 984027753 932908323 638997149 727155240 479922074 833489868 405482721 354374414 662209977 988228759 603992817 464597648 692131690 488859659 698774963 906211959 619781917 397202354 617214537 296252186 399706268 805148593 861373881 415883725 497912549 910900508 780162894 925154632 898402866 172865289 647238859 343332019 538252134 366612828 248405453 736248239 238757514 268877257 609041263 444234467 543074819 438998382 192609214 957011118 137546439 792841699 836793234 458738401 597647383 453024642 388965532 397680487 876308015 720694917 137152707 386740406 522114168 333110088 105456190 920488469 690077634 582031375 608879405 605445703 995071292 532582385 869277768 258482711 609316584 410728750 168122918 919275194 903310486 200991576 156747095 917953837 799795426 330650205 477893440 709177705 712932399 896636738 584283131 510179118 659904792 786299658 736321471 794944541 252463883 456623206 147701348 466984601 794873880 658605890 903292665 487255268 413593920 753597411 502366386 812300694 681294070 607654549 676150169 863398848 414042602 733922267 477925763 759660947 874755551 895240824 682560171 951319503 104072729 643554784 392207719 128398780 266306644 448267466 881674057 842457319 657893849 786965868 799569706 783271949 676122083 890714597 848072490 857236189 417606470 848825124 648041219 742696932 767159938 212105634 994268969 848655674 847381099 673613968 695374601 842193055 275923100 113903285 349973134 727639535 521804800 926154790 773339821 728143739 770878959 381933851 392450681 775449471 379524886 922162021 950404311 636997518 510362694 943982328 478178272 340612909 851904882 984798280 200064851 956250112 678242376 578697940 493115143 357954301 421827977 194840435 950074973 574935494 990959882 749180360 187936138 669702946 185609647 685501592 595685133 968913900 614457653 477685903 531626062 702368523 403278814 115963764 635783594 912384044 891649117 811339291 448899492 192797704 431889252 387764537 610194090 365967631 917209041 991028436 549887690 605690958 294279550 583558386 509272567 800119997 631402809 849916889 488861531 462780456 351998690 441520480 224010882 914451932 177840095 946207809 781412140 296478190 538446736 935574495 103205892 152704437 360817230 685587774 464208252 943189940 865392842 687631634 130802206 477092809 929712788 684436610 780077189 249945558 666652437 441212370 879497323 102111183 215952974 747173459 145442452 306033085 877891756 274212361 194849456 720591492 745060943 675829855 189720522 304309104 374754353 153972300 684538470 966576581 414848511 262290051 813949212 582986820 531746766 940831058 946108259 249802300 617452642 325148494 655019343 353444647 290328899 539214352 783780540 999791092 170961210 571571000 181270839 715533265 476559236 905192848 996991912 450744197 363887998 136149920 880167938 654333980 963307933 323457471 929504944 738285283 431079413 612684495 900191275 702747387 495821770 966852833 283023692 848581788 166135887 938896581 494087952 854670091 266547574 935592186 415385369 489971561 863739479 979428144 600635571 582071880 832529760 275776069 759212041 528070000 230054606 907940750 610981775 406128906 320954851 683899744 253320156 678645229 918028719 139377740 271286167 526323373 119666859 533502549 258305511 967693585 870982141 196199618 760216253 267182332 268701455 160491169 380898032 274281488 470051036 138707012 499735869 419124357 885772379 912589919 460651358 333964677 905116161 570470756 512447282 793551245 207676758 253384782 494614916 735350367 728438432 981358404 129291855 686029838 999059595 539655742 634347856 733257095 351865500 806479803 746231469 591062810 302018059 360363757 168330199 174661153 643897962 819095892 822337880 912216309 709473916 102206537 777034319 278781646 342945020 440650988 737748528 515786600 857737675 212777784 205710222 188350137 359225668 385989942 913631975 598838545 659597702 460879987 786438577 459361562 201703974 169316174 830840709 197865322 954573760 605880132 970428775 373069409 914858188 473326573 541894890 357927261 355439391 236976130 716288898 621276016 655635911 186444695 452322084 171564374 100093343 162244068 979520028 440095458 237458632 464800345 910043766 887291875 208796383 946561184 409803119 122605304 758585451 990970829 904500951 341709043 746459646 881960685 807788671 122671532 448533833 253191431 506312765 707774713 548492009 432296807 327532006 578861836 618667447 713586863 466468515 263401502 548451938 837632948 570847438 371756346 788909704 657310934 155947743 150214589 217808042 703132288 992243205 415553436 145571594 578281671 684317552 346508083 836604547 924680282 383982867 316639596 767571879 182374744 186043758 244547156 303633562 536770541 289394838 321066881 652731385 999196674 745662612 466742190 629093801 132074128 901954085 820647976 910413191 946968654 395138896 110792147 218087730 866762285 194016318 242887835 918486006 445948936 426018658 231059561 747603069 644251505 559827991 335395009 772155613 837168749 952878360 486930041 315761114 278566194 587232637 223604383 183527710 324993977 190836950 941889387 116952766 234116438 912151220 109383390 543523176 247007062 459894167 700102404 107173352 484306734 508130784 817925681 394450144 444454344 174432078 360595311 695324478 379027908 180973153 796004290 399430232 385977350 838930240 271697232 415985999 522870711 923537113 792849786 311949081 984922487 942456858 326029876 934442203 628744500 207183563 150364467 828597177 865225813 112521758 270691189 529427270 986722974 240574653 318535184 274435878 986752223 813066341 114509312 656003260 527726943 671193298 913793491 703660569 686332876 442969329 874260826 197405196 787606997 137031888 181130708 953772509 207197757 768968025 242510723 553033607 964987476 377421588 922606694 280454836 711185036 244468091 171141669 492707636 734342810 491944171 544772860 169146390 871981672 200691995 185204619 706739147 774439518 606098133 424202753 861023126 728229928 891684958 308238923 633813684 730355123 501816942 993351063 725291333 686645040 402691745 545092805 232793214 500750218 597223058 842203724 952876401 710208841 151616177 307321977 931634197 477567280 889623769 274871322 800235330 541151393 125927949 338410403 780144575 544813917 595157517 314930711 316014734 143962071 565423531 928629128 972901875 644288784 574758951 886079819 222165506 902163445 927823639 391648905 615375069 464563584 163705036 983243977 634419680 890798267 366720178 303857303 764970185 478078869 339146219 252723403 509465573 298573655 497281204 674521729 932385935 770223956 303459279 654024305 623851248 767379538 303642981 357266097 780957240 591216599 635346288 976031857 394638744 936620686 388787659 154291346 697306695 816339438 986766237 770406880 654804214 514935462 488583671 241693882 591462061 678775961 715285239 646148142 945279145 353177229 836514962 827975707 164880263 535090046 134183494 289449260 318631044 560725399 371361007 563209182 266706892 680142248 490063187 684146335 566623056 733475857 824077580 528648444 513742483 745175648 448815600 609595485 559771672 233299537 964893358 128810769 451428389 555729689 207279863 544889212 132797376 679099959 161000627 646443914 832248767 126675456 934436459 317890458 747148199 714980669 578881928 170724167 840291610 445949559 581599593 663095312 202053030 717876731 788506570 533299983 471316130 600641071 854084079 292876320 923705283 277210436 982615558 206861352 106775213 550412255 599789572 880099144 459941931 358204256 539756617 477111267 114412653 474620147 427325814 783496688 989760766 179454987 927011020 615987264 816628179 915619030 111077962 331224637 978227096 691964808 471501664 196822493 180463877 759935407 953850485 414839601 503533676 445243592 998501983 309065186 856841672 126337089 496785273 659944394 769189816 172767282 546806661 433702688 563705260 717037725 555024336 437441327 112854878 937694419 113163140 422215575 657705904 860923647 617793107 514057635 926172537 150213683 507009729 296006495 879691435 359623074 313605916 789882700 826913006 139365114 371748747 327690901 940447559 706768764 889783987 257690755 178573972 252302915 262585047 622396902 962972828 347459663 608090542 287819907 447450515 604498196 595604838 291949451 867363438 628967557 955695717 366968018 931527986 514269527 963873869 638694792 651973361 359240256 918875011 993007659 232235220 508907094 331731956 895210228 518089372 493657023 171602352 915488160 117629592 500377827 635359500 848810001 189785604 481658490 133330952 369625609 709091664 747946622 775125666 730231851 892974211 290674902 595640719 129503502 345815251 453671557 726646207 469802614 527786094 500193168 553271508 387995804 161017167 244440267 398600445 531999466 863096737 836844997 338340371 822839562 151848031 640607729 674948680 186825935 510970141 756919952 793289515 474166593 807474062 385314748 932115895 799006705 322124628 686776014 689427710 800763499 902868824 583562205 227051692 133199351 807643100 613556416 705422569 187133545 535138679 781837049 350285135 416325026 319391136 373106627 648878186 727696643 228339142 756293381 899396342 771684509 357235208 124855461 278793177 101565689 430280678 930990056 397069343 690974769 252102395 777875641 484115571 990591370 744756946 420985949 832211266 425400757 499253802 664599375 580773407 590278117 351986193 229471803 844993137 971857678 768681354 528305662 922930183 936638919 811176326 101537272 960464480 509145602 422010569 914996418 415736540 165363578 405137387 705206066 592244908 790604090 990881186 164073044 665860015 493050769 892190499 828342748 360181819 326151361 161015290 658306353 114370032 188774697 291061366 789759687 744402618 228418398 117215895 680493552 804471412 977543716 775806567 960661075 642258586 666199478 658581418 760180586 278353661 845045920 806710638 917261039 517716414 971292666 123854452 577669579 729660055 978328460 105645604 849206639 239086176 223300834 853066812 568355949 380663038 590527091 120814126 499875646 367278383 951755141 157596324 777892801 187709747 867568179 827395997 155015837 552594905 698083653 296303468 842293768 478626390 557695761 388816277 431989066 756979457 939279933 737328616 552012803 510851933 285138921 779411532 224237948 363363611 639179415 961853212 788007657 968306867 129396448 828513473 187795999 729566736 221665000 315617413 482689760 187446378 390191138 835573657 548142716 759232333 269638346 370311325 143268630 273697742 388012143 762047197 532399045 716082854 306748956 919759603 489766756 890810799 220414406 329500857 730832036 663790972 472950080 535255569 801720578 485756610 146457468 817741347 814219988 260880727 209542538 708527672 568438249 399550698 347271264 240710793 446824228 215365567 297770877 623838012 229186679 999471545 464268995 837903800 231512206 189700057 842771470 847262553 839543294 240510895 468808518 466740809 731605444 544705434 718021625 381165367 403466087 120520257 796642599 978973992 318895335 947349549 485872475 800831849 914628326 502342766 481832206 912725103 530205963 984965870 244194253 671572905 279943692 807118988 185579215 771165255 806384224 119288367 777808878 787503388 819981045 639047172 386904662 417634200 608662532 321451687 139701855 793752275 799368523 304044939 724239302 814617049 943512041 531326765 343144450 268409889 159521764 380636685 873935228 441059335 945465729 689230767 471787133 438035950 618718136 271065848 500984915 261757442 181925194 913793910 658487449 258143610 883933658 219850502 663872446 861396087 417463730 548364989 363894309 547731834 353559079 493100852 560571899 910313153 557547694 479530172 609204149 198411265 417983014 546904495 990207280 700097642 300503742 777668088 883075689 995422656 383477658 467761555 318492029 416905639 144064680 483373540 601323338 409398482 256543810 148121893 155633016 393454053 535087243 865458056 662161847 365343811 311296735 692028153 826663233 827879418 759827879 183099437 346484419 565817027 416085197 879215116 869997616 402712667 145993554 123769688 632878578 240660584 978202355 724376970 950034663 171177081 853418540 313979717 843290792 848355931 363376768 449294560 973433528 506299348 203959820 173699337 529532227 536609151 452609371 813917997 163490448 700199184 298889890 509435269 404138171 734536693 153509210 551360593 808654929 528452071 278586546 491789010 338771259 664276323 458663664 153758981 118608339 921945578 677005409 805765718 269934738 149075952 433193381 792980740 799361541 687489898 203802103 379421720 412201050 573865219 998038375 509892978 435749722 378793064 738587939 168984318 619547680 654450540 354073578 315363190 178563529 842959735 273738830 148338653 527856856 133310409 294915614 260488930 878797042 831581422 697706553 239883274 569769146 544712415 230013276 173384865 821461048 829495140 246135380 877288532 507469020 957635204 766010421 491129573 255976264 999340165 212483274 279045127 156938756 791599678 325002206 382377610 893015879 326611176 141997354 831922459 488794187 239604577 988893981 826613180 894436443 845440209 292479287 647909782 515193872 569809565 638412049 292524158 477541777 678951337 103964409 815281972 367761246 838835414 604670840 736006893 490964075 433456118 993755862 187913680 449223777 131463601 852399206 354045272 746276533 670251106 333531911 701663399 977004920 356350580 629873975 243690810 973512831 949960920 953406765 220908448 334269338 608232521 774627897 946777570 749207815 923244224 641962026 921483601 866061777 170272786 212025583 440845481 208394468 941771198 485649193 644924613 245855540 319565090 660965546 117668938 325126740 877839580 823891259 735928838 704308237 405782034 311343174 658988759 931831291 261462058 765562003 384614442 555578696 723020674 664171075 845407391 271164181 840867394 410474113 732209784 127474120 310054749 808008827 771247378 213900969 907955205 683594738 303640206 789173036 402354403 105167400 930371255 459720040 769599944 182857273 955545492 350363261 456810640 215076067 678813153 348494351 953317258 345910311 563228099 751385642 293526535 231175676 326955054 369813604 771382291 946234195 884289460 400891059 905414658 957478946 470949226 272085400 841396433 796301902 326017492 559223435 767464770 165384317 684799355 809237080 852091051 887742305 551795207 329418372 181450052 182740038 570136311 283826894 904040847 856374847 484769891 607632692 397973906 214414025 219648423 806688983 575437742 671051707 965708100 727308650 206536482 638256988 363184656 799391473 338291458 967548745 656127227 567861011 804700001 307301924 912588512 575134562 180644643 846123222 359652234 140912229 943589240 215417438 858545966 809242369 806987651 147045515 859245525 596945848 666044250 639549484 246906457 682924269 907484477 942925740 852453619 332829427 445374968 341336787 820755616 647514222 737128367 911266998 459200557 233039154 259109905 404803031 542379008 892935851 987175055 296695660 387358403 198993281 892923505 981266257 715500369 622135840 240570246 488649133 237082511 660699141 954123962 646041984 344308853 823020663 426947465 457011508 570750282 284632803 586333297 341677949 276733939 692066617 203737532 928649480 947299097 598144887 917967169 828076692 344367184 554442260 956234811 448308766 180321205 817246680 125909278 730966046 934944125 218666902 436073070 433134643 362104291 697843659 970349517 107871190 268653513 924262469 976699380 711859640 690566462 234277921 620907610 767294499 593330124 101993942 412764110 163393373 855591406 677574533 189355720 983885622 477431166 938682267 819075272 109158953 174372617 618809190 545946081 739028159 425623434 451391570 491684155 930318915 423032738 143141938 800630718 475468099 654461635 312565232 486922033 665060843 488574776 941576442 907949851 154223508 920266959 285601044 953675374 385480047 254781677 623363459 466738578 308358569 959294345 388379525 105641766 723823798 426294956 233539204 493309335 857324645 339653036 308602426 204254550 692678947 234280850 428078930 324832977 653898339 738482698 547323449 490432821 127780087 430391868 190354170 730705645 831914428 556337396 107638780 197484483 494090391 341004436 823466510 567212490 739078002 548153834 318393564 863869822 150127858 310894179 572830636 735977470 878807515 842322931 243997824 824794288 450779439 965844518 707145287 418263775 844766336 243740779 565668759 747780061 997892750 996408227 431252125 135874583 771962443 216641044 859391741 660872140 940920068 718783213 604065613 992944431 204319668 113193354 126313698 636494447 688488839 388755549 888799452 900667804 763119576 186785424 242547930 327084782 513059718 703892325 357153268 205561069 185993681 415307524 612453770 663771987 411125780 479852327 911959545 551965825 142475830 429819894 639710015 586905409 490078674 730460677 698380189 571803925 727337391 424375746 636577575 712443979 777711685 500939256 380119540 247839289 658150669 892824203 744682326 230977690 937883953 556220003 896486469 331157775 814679855 588047768 393849430 259490494 807898277 843265595 575724149 155423278 851427211 556824452 696380558 859935352 791005840 685277408 483854314 897044691 621461059 178387704 783900690 364590246 625160467 527873220 618635317 555056333 451538277 528852278 460204943 365148880 926278863 317146710 468968192 447573418 965416360 175097281 653448958 672896276 627900305 650692438 938880382 616899268 200195173 513385072 440908016 902140213 297282991 153922480 116087576 198205274 120271196 357410319 594624748 770497277 574212962 641409354 890875438 174515727 149584412 427112583 247159855 819589968 730038612 840395549 241400956 696869243 307535017 170111123 216149199 125837291 536222905 415569695 973912145 284478695 168801216 858132943 330973494 745883189 282188810 950693832 595869088 818397341 808374812 772916455 212786536 564067028 207689602 276059987 167681592 303967372 512931867 457611350 224221687 445869438 504550250 286137201 383882061 865512772 846176615 292348362 268937863 329659184 470641683 327956022 195843893 637640433 849347972 870880109 324373978 346079976 476538760 445524653 871709527 209544125 322586271 611998186 458957758 125742438 117685738 453612386 130973496 795116680 318005284 182377813 366560894 682082957 751778164 480351711 636420604 272821848 837030681 647034744 970272154 186716475 113113257 693458981 966259940 660066671 301686635 396549144 857174630 776993847 781862863 813192997 124350961 670232780 518658339 613361279 385407098 925989103 979109108 331856656 759678366 518686859 380244312 216255689 137638766 255492171 738586793 642467519 784569737 552993592 447868700 988300053 286674688 705322162 390140452 513546037 128919562 190096129 155932705 747513655 610091312 871767592 973742501 948003189 170778797 393657593 712796786 254363191 579131367 668956762 171463207 518685961 711927760 188645680 931091695 143977696 929264028 333464293 302495272 647001437 999632962 247001757 920955951 967895973 953641781 809744940 809766019 116407079 787787042 936926423 511149597 690544135 364511197 747037165 394884788 457663068 968934488 876279663 248042024 780089159 672826252 148027241 816330073 707727142 886926587 781247149 735844312 742552091 758885110 235350591 205301162 512138572 889204895 679620410 965606691 857799724 743682797 505136491 166244301 854641735 680253416 340029623 748279200 856082535 161187556 204579647 325508602 806582267 659334126 953149162 121788657 360920174 607206901 968142551 235208337 381926629 311833251 932093876 554617932 962659341 430980137 819103830 958616532 953961906 553201925 740430146 251241147 692796141 513610205 258158177 856078402 685722741 399357828 404282901 326170469 427565808 283325271 938451070 393418445 558973470 854234144 840968250 415358764 757286926 592754656 406313476 429635366 777099126 983470387 357456943 100631468 767760803 733146656 904047901 364671749 130840906 290965335 899623541 409180391 270949627 680366162 104071353 674904615 265476281 509271804 353625147 173930256 182476116 718406976 719912239 929319779 323353248 671562165 560593405 445160462 311363672 519332863 651146139 476631960 750633955 811767368 144027373 944564753 757336452 123104045 259773452 710829590 140300466 642265890 411519880 951315761 168645009 745050378 521605121 983606775 295594588 623706116 902242301 703252581 313008324 465339043 704261788 124564942 779342638 968174526 741039219 534146889 789690498 842370914 397376997 909173887 802781220 804110390 247350642 932831034 512550803 946493474 337071587 710039627 218841366 979236770 841539101 304854512 868223881 202074304 612882250 553571556 201946084 398886545 235665703 997261280 225334009 861675506 878909023 981408360 474872744 828143347 436499134 258668278 419058497 478484998 996191057 422527729 387997512 923955165 509496211 731192840 229206651 802170087 935119256 870915029 876415854 744623644 862028783 179836422 743932273 231790186 352297661 433628538 900738934 635644388 482406322 837588008 755962482 792066098 242665741 395189757 490591965 979713372 480748380 928095006 855919590 635099794 251058915 119421399 955259838 289826240 841568188 129793088 301017637 934390527 885494565 793995639 737712339 116275876 430014068 777890176 987278805 358869275 332041109 733288992 849289948 616960370 324523123 239334989 728365438 144473863 309627772 537916972 597912993 976932316 476623486 278588062 593932187 420817943 721835387 243544379 532246922 642892042 673571959 244553054 826195890 881105634 331805271 575950664 370018875 115926567 405810517 407798859 190604671 257750813 958548242 788483382 938554242 857727203 248677565 271540915 290294541 491081974 767609727 815258203 849032470 103510420 463245152 345311703 482218196 382729473 767891771 398728962 272587218 583570838 158258246 193863957 556975528 376185950 987714816 741896443 735398996 663169457 882824623 114459247 424392902 513298433 402706587 440969997 305910659 124440862 620647290 805340468 359514937 138752400 205987516 302829578 419054140 830013502 738071697 469023861 876723165 923814835 450313114 835155268 192844467 333247350 749606603 481056656 913610695 447315281 878964181 463494704 378221462 210228232 513854400 567282901 455341070 158446255 525022962 404421866 958713409 305542875 253479587 988310108 255363888 595560826 131870592 516384181 735543947 161115519 936088702 715207187 321620303 191030303 376931844 796073713 810803352 771704443 339719725 292748593 907909791 609353330 837452606 794024850 213013956 231234456 908692793 646892928 976375324 763150176 936244288 458207272 871153639 487673943 236638652 725201538 150243228 520905926 365470015 859689561 941609736 564496726 463130440 555423860 534419694 975612041 633995051 366403379 159569712 581363919 109289398 689477550 398320905 680780711 400996923 507061938 687555522 603493808 924096245 768826109 150335534 125537023 202421586 658044811 255483130 696546217 785131285 549532977 428719232 532278516 288745136 499400062 602194173 969249062 230878208 228709151 318394292 420189260 242466089 976815129 528610712 757176990 942458617 754824573 485924822 379816099 432647881 526067368 833123609 805250035 207785545 426415173 125617433 354997421 609737784 211554437 849636188 765509186 675687697 838825348 956490876 438371348 343149353 245508277 146951556 100632727 337476976 680286883 355000034 386514355 624516560 310067456 668515871 331559958 814517339 203047208 898236800 205183383 303350497 316946762 137302528 166405543 296999918 151720738 137595240 668018245 701391976 735409457 842233731 497279017 476859453 910254025 665379477 384630027 160800984 821534063 570781782 435842227 348653833 535782917 125641020 690117295 741276474 892745990 571195835 768737663 335758304 261252693 230144557 597726100 136872819 171520540 358175820 144153668 195071806 919631819 340187647 821674636 886995377 344882628 906801613 348428298 237905046 393245672 509576526 983985122 596354916 804642264 617040895 563100765 662033949 917055273 449832896 737013771 612030992 445314332 987463344 890405408 107075174 407953676 201343957 154125347 371886555 196628491 927779843 274048661 649778065 772743075 753023721 495467399 230231564 184632056 805441322 832202774 729778973 881315516 696753422 806971231 581058826 294728668 899308953 124705836 671259531 295827884 186011476 714545114 360456624 774679293 902925524 232565245 936277123 193646342 621337461 448978783 325923597 166578366 493737878 658081058 471800432 151067756 195287081 727192693 692755154 299596363 553593954 176644983 229334012 188363492 555100952 532661983 949941526 100657829 593562924 388943568 552714820 216931108 887548768 563764295 207129900 837438486 417581377 371914139 385899752 315797657 803055338 781092479 590030591 452484687 684031453 611917519 660748786 680061981 629051649 185817087 237299575 761950422 463722673 148744390 293261065 903266038 850166631 953160999 243541247 628277299 419233996 313614541 151776726 489542130 984156990 314467156 126178380 862614388 701610676 833456232 695378119 510330302 302241685 171499437 126751860 484532848 335814495 683898686 759299470 433709895 150486470 234511641 750341839 895503598 701912623 498189129 669832658 190363549 730937621 597273004 849465877 664000426 355440948 565620187 890873221 599534324 248795740 138173808 961472977 420760368 285386264 538224393 158327664 653774313 164447859 128779215 435413450 211863580 822201186 136028080 653606112 305448981 623852285 569777898 392084085 503381715 797427495 397063153 166607519 333161034 802863591 299039598 163033843 325590777 259654100 500412473 846017955 453045607 576321505 297531752 504989186 457962725 949388853 789559100 273710940 390806706 587303857 917983256 900083741 329159199 194653712 955659058 571629261 597244494 990558991 230225238 927604380 504070100 827227504 848296958 381578681 584039591 599552069 153607468 116391254 388384287 333053219 533908230 581234753 306680430 876760920 753554008 133479647 818727119 563820171 376638673 898780716 425511969 670543598 983691992 964895470 605605579 384955981 797225613 227738519 314575230 527222688 542730430 405931446 606013954 812706015 290862006 822030873 221952113 534834748 788796016 243459262 879888162 790066941 974643607 587485586 586640828 777643922 404131095 287661100 137440742 443638199 670097340 779666977 902801585 784933032 847656527 282832075 767187600 101481265 818466138 363304702 987605588 463586005 250896926 720665478 622704830 689935124 134210718 304289808 559872256 122134894 926447174 366411842 692007967 676058607 879387718 257428796 837956180 419932042 592094887 346116755 739127074 374651592 698391073 475226852 992740456 386994406 286112475 157677491 211755556 389280227 337601753 850214569 132521759 466564410 972105560 324730726 156997021 804024599 114246874 891984178 786566288 324255463 124899846 559797434 104739712 864307428 695013114 685942129 541613403 986340826 807675901 699001648 181684026 207614015 812016848 383047792 875796578 246846975 898705286 621142008 513452288 341895586 242018835 284921425 838577903 370986473 777924942 775449296 586724026 630520270 604880253 786832594 998102533 583161328 451131376 831257779 120905470 941973542 169918115 991799355 674301031 719399806 389156761 544453529 908589804 186319423 299037085 357815892 667878028 395505202 692837638 565849712 969078905 327324249 840065241 840430209 539470316 179087701 729030475 432993047 911031453 188413908 695707264 985556512 695431909 313958705 459009331 827912083 980883101 405122950 962946515 760832661 961217255 546222116 413362718 809593455 382555530 381608666 367528376 472996927 835052653 232139742 245184378 861999792 289801475 150607956 149951400 607643316 280657034 594005319 653336556 466398276 666217169 562644686 140418562 413683360 940334683 664147401 237749322 230173128 214440843 174539432 979247223 225346743 858599860 428384735 854850879 316291520 680593124 399683331 642876460 495390197 977497664 668343791 235263936 479185490 721527489 552254181 411212815 690361876 355852454 266567333 971199573 244984065 865452111 394700023 645271332 364983659 547142575 153343511 548603076 846586119 546881536 343077414 688433659 934445599 502327287 109583451 395329000 235916518 710092620 142101619 217651006 488695248 590339432 146562543 824429071 142114514 897453938 378614003 206185081 515609604 558423070 234546255 101468171 631170189 565495902 419012616 320251416 670575163 663921116 799957728 291268389 905267107 966047383 257347990 922936248 622932303 219541757 966239342 924785277 706631321 736563472 885375833 550479984 947355154 141367812 702212193 748727722 766799895 248028952 470963828 688188537 677858094 624494202 647415973 770762397 453344022 162503689 576069805 206704204 277895419 319202145 803180559 133166799 938703858 562966900 370930230 894959251 502215535 971391892 177662249 185731829 638541676 111678655 277821230 994591056 838483547 116428413 127098991 976937201 342269654 503799554 658014943 626165974 458313015 667668217 700922160 138551729 212574021 782802241 688346039 600955539 985680019 657046065 614228787 577754907 194920841 721645552 734920053 681215035 611733544 211951071 319296621 915421887 988352244 979261116 663344827 949013877 867151346 361082236 997789185 210835429 325670271 868242961 194596085 250719930 750111649 658185941 814543923 542488914 265990931 249703091 169105768 152472578 858612998 209009944 982652828 258600512 433548077 636549997 369371015 805477671 102549766 942604866 575147507 581230412 214116243 477061256 733304648 936722349 647684302 625172218 260361468 922655407 414637173 814755904 537064032 535226550 963614020 392147604 460305270 438935522 368380833 349741830 693752087 300681475 911529122 429137712 182638213 328551011 863352224 267097705 517034833 324043430 262787534 779078582 806965916 233286104 795257926 120234871 601872796 693066731 430267454 302204680 768814906 507684387 162179625 393235002 893298761 284889058 435399235 862887035 674263157 508061543 667533126 263912891 578361323 535144757 894971096 945071191 280646344 474012423 466545451 829151936 721414262 169125784 527115462 403923335 742614339 680939425 738475034 490677538 248932354 786555245 734259196 339413142 954373866 752363489 762669455 280147680 156605187 799200686 618009607 529466367 659806012 721435848 646659302 394750238 813048198 481226194 125135114 420105192 706284120 432035843 289497628 585189207 694399198 643655088 427894083 786248374 620914288 267903107 523750546 656557229 855206222 799498958 894477676 828292583 947972075 768235937 495719635 340544394 921582438 290889623 839722966 967093670 901043144 359568882 474374489 888222965 988549311 806765120 388455849 820222408 319917254 505699545 584421515 591979795 608314612 168880553 418933642 644245131 774153387 406080839 523773868 353960969 249782450 455028660 858182835 680160529 285612250 327195393 193998396 425801614 676184519 409600178 940040051 596459062 699054034 825623238 902548080 165122462 269922030 899954071 159485725 280454975 799840591 283196276 857068761 722952310 609676752 291236211 190962875 351400808 730670387 526647292 726368424 631940398 219209195 248515726 438673706 552745999 192866677 474378154 171982254 779825365 721097773 497269246 263582721 848524228 312818972 560201822 786815255 490630076 655701915 948571369 517546176 502841853 172661611 134187595 388311692 489884922 685251814 834626190 314414568 343213752 428007401 832904569 749606380 550459109 469813397 573386427 547150015 741674445 949903105 423177234 141442178 172472058 652462367 276551071 473449664 681038597 994265790 406310736 401105133 502949761 849600750 422065747 345579153 843370117 132291014 764945856 789150216 418351541 886703284 271136490 120391614 242335307 758134276 735815218 508427536 863044856 669369668 460330027 565337248 431017682 583395720 601883632 958049266 718472477 626616185 134488614 787000289 369694962 913752967 669414394 431786192 408488171 136386112 402740040 929322575 511134892 824959790 876725063 972692753 276446607 425644301 564457421 481436049 659149415 754611557 910788325 755366493 183338078 992696839 347304403 179249610 189085305 415250361 292792234 353860397 894651413 170734377 676435587 625641952 278148727 695842605 243616625 337937683 433372666 181497474 691097991 705485341 778864804 727499236 245716998 927015782 531203494 939471890 330978838 748303789 851794033 295175506 612255964 139761151 440579722 738135857 774552828 179733154 238002388 116110551 851778171 558787796 303419798 235130149 595732757 804493753 495293624 798663426 520662477 656763036 121286427 728159665 694388585 881403021 886765214 772691763 253504021 171597755 336608745 198762932 122648523 578028906 735603591 805201752 808327604 244649723 538848856 159627605 746822368 230731465 876942632 592487649 702834585 713303251 400785997 515960580 678505453 934501697 184701231 489219180 125359005 487445419 873817980 381972902 480800049 967665853 208852359 902315305 132889298 551933497 836938872 133572960 719089410 249741802 976879471 414170200 565996032 761426765 791217101 457201534 522998553 921403064 346323956 238365526 145205881 275912616 170362239 973401519 628672235 975249506 527378300 806927290 107478103 612861832 145541792 967692533 848976420 651753814 950561329 719281685 391038701 952153639 191582933 983848319 337622344 512138082 193846435 738172130 519818166 299298446 453750648 164862159 540717133 721145696 911506218 964493743 863849347 443270427 994015269 514396506 679354500 583615352 845593829 899292328 743949181 384264392 442482112 499824003 906272011 731767692 177949874 573631800 565725853 452786038 810199618 244752722 961438008 830318710 884072683 670877830 153290826 874210988 281419537 417017223 404796189 642228044 482418648 632615911 105923256 185572459 908773803 135690438 433055336 884812142 327783749 990127965 380263356 963474661 904473123 747988116 657672590 670659548 137715415 709192382 274840134 506566864 673233340 175992027 643384408 100308107 313082662 404825460 724892191 653983782 200459988 933709169 568132902 153726623 644131344 752188932 733511015 487150578 102714781 485621931 189270319 498535727 215247684 200958053 613737859 753685031 907452925 775695730 581672162 927308766 117043997 266293326 101348075 883858404 206983588 223457144 775603022 903582051 219645441 478574214 431604927 966642435 549534945 682736822 862298690 418545059 553220525 385518173 437339071 674177567 616062138 742413377 692076762 290223759 646358741 781532439 670598071 332413363 393872594 667729539 372697205 990549625 114780107 588090724 237319763 271622843 404193091 573915242 308863317 594144030 157890588 666971203 967908419 134660739 579637647 579635591 491255915 223274832 937417533 553815890 870850126 631578330 597116151 509335537 930203283 888717872 403724828 305338256 616306838 771413235 616875852 601492713 213530138 350204237 523784152 883748756 271267924 827425594 210285638 402641933 494280828 213894542 642131977 365534429 210258454 892256071 852989646 624985010 687565458 971023243 248436954 652374388 499598903 581133871 968095827 183658413 600542906 996435145 262328099 381464819 619127769 932398759 883904882 822062731 216531002 787672481 485801585 559576864 624387094 517567666 469943520 483921169 952629362 268816308 543240392 897397182 944680643 933903767 673589520 250509039 101796939 581804138 648528343 540378626 259385827 309660468 312090221 273149238 700435405 986073718 693248622 267213887 134465285 422255851 401229407 464316007 145284946 564440745 246655993 357397509 579356936 585738244 352127121 619649650 489692977 161819377 562560527 307729005 647320461 604190774 968635084 578892122 661867657 836518692 410976405 827784485 371526908 172626595 893911226 695668484 507481085 275106408 100535836 673729285 590559604 433335204 578393906 408577122 788397839 817677138 683676495 523289983 510068800 573017067 691170757 759175910 774540542 341385117 113911695 881571231 179939059 932334980 755126790 869053771 269010035 991341190 494586456 235661351 505194398 996442326 395515239 293290172 240801153 314798592 114140588 313863570 660760511 539750939 560403069 102394045 606756200 268898502 165097796 910657142 751416948 741160568 177399027 294577123 523057437 135613869 841696133 809541595 178949336 508842089 743421622 185303800 763722660 996087369 144256660 843113490 661764185 671561935 379118472 471056490 101316063 430952753 942610940 412912413 198069544 914411397 396491173 499886683 198737289 774997475 922854038 460658661 820539082 383265069 724112438 540541288 504936469 852720565 924233113 824320702 498960634 801850341 411524229 707737354 657415588 982610939 256877972 849623478 919680652 498587793 498934979 132852947 237689189 719860438 285051965 995163551 521785655 966782027 694339729 554428918 697491350 352456521 260027740 396692246 153279966 487763485 805875813 171906563 938001230 943099923 848851056 239569085 699159791 212453998 704810670 861433245 715360860 480516897 524168899 882814976 169956874 444143153 796865898 572069474 992364121 477080027 505154967 956702549 441156243 510315311 963333906 535964961 257485092 136439565 969386927 638952783 568071318 977006581 707750757 732636632 504536184 100548298 604330502 346501402 595718699 981332046 501778657 855565329 674819079 988459073 427668623 666555105 202925167 797867177 959603919 998136387 186159263 248820543 250091330 951934320 764531345 819995097 631550374 720560040 535860087 337203122 796265921 149312695 148515521 308112644 304571986 462468893 141403051 531639792 168816158 986929387 692743500 517760439 714175565 650207495 391935237 540252583 247822707 993138852 523157560 906954344 268956084 737322973 409250118 449828281 515678880 605547499 162173264 591602457 360718835 288688983 583282721 123248408 190053234 498962701 279724296 713028656 689322713 126469558 305495424 509752348 551483890 986644394 238611781 807765332 346513405 606236690 348974152 125395402 422544694 323865892 267615149 609465826 691145364 513907015 169332362 816350008 581100101 657150268 587754378 535314713 296537463 921022180 717515366 360256665 919400309 253625893 671612978 714926973 626421705 403276905 368161620 469956813 450982746 195132754 651440175 410938226 759765322 447930923 795080514 185027673 262537079 966706602 953940804 551492577 129411646 935426355 941893564 195724698 766380757 388404913 614101860 267922063 852235626 822326595 146840273 477241776 709337508 812482147 717747699 403944349 326218782 883257558 826402575 677414931 824643181 509619138 227372659 433010828 200711739 885331061 933311434 907262295 110579148 193179554 431182452 417335363 211788787 272368517 649775076 981870926 738014923 953668598 155044880 879683668 260091886 414497207 984718137 268954591 977816254 703896511 597683109 772883735 983909978 742477343 149622627 246328873 522858604 984613084 663769964 564833237 404695973 106308855 210243673 271193127 482837212 956628612 467898571 794716741 296831830 144525347 851471849 692911819 234246504 686548185 643798698 683106633 385542373 539878312 448774672 848139971 805022119 215004429 310197123 442276807 353306800 655506809 635018729 727644345 179250160 916416924 583699063 980938066 428900022 461322095 648749467 256597477 860349552 279729892 568101396 452256320 674114499 106917897 395835566 295394482 587793248 269799111 369183741 202310617 461322469 816787795 809585079 252247580 868714406 610702316 361733075 818494797 546592797 334889347 237232253 518760422 207441633 498692932 659571473 470830889 724455032 627564564 901925902 901463039 819445511 560702585 907034477 245393306 627793387 104752249 501035265 949717845 123587029 411933866 262872560 962140544 869378075 526914582 127267266 129715346 821703301 151587970 287989654 966106246 795272879 591341433 142765966 323691433 773371583 249333260 605058813 166924905 790673646 606541137 794833080 598171638 343011868 716247787 764869039 925260571 524662357 307016469 866343778 106533513 624514054 995465495 345324932 373601557 345160440 768465239 666517251 639369343 474484679 822290337 685379243 962157684 922864980 831235576 334936865 246852944 580101476 448174440 289768750 908405313 514209701 474222676 691143950 633173533 214480422 480448406 669515096 144579760 274585369 532343244 517349290 989680778 574521578 235663447 464609076 447409057 262668790 734321723 608388238 225439276 864930033 175776013 512038134 480498166 161558578 725386066 243057541 829262654 540854052 348697133 193653400 648306898 612776273 279446846 124090818 859110687 778318378 782111237 766372500 492901470 398070651 303563394 355248941 107336183 483647551 574540348 793866408 123238126 854192676 259329546 439436242 353013058 358773919 608497929 704635627 564289424 399016582 636001951 787984413 331435233 585953145 519670278 127444226 556060701 743759715 677772335 622027781 702016614 683616781 255733134 627016156 335074288 966500635 510798320 178897685 284970854 390416774 262493191 244520321 259213088 609726488 400833216 286661868 297801008 773183789 557506107 865389187 759177587 442329079 569548933 635605574 430424623 990495608 534342323 864551914 549385743 951391019 102715266 563715055 969018021 866712600 918116854 291782683 805397577 634449725 493455256 882527618 712931583 312482979 352639518 388599710 263534622 319220336 157248044 552022360 694732341 829952202 461601281 886184449 941235190 869399034 932795524 371482206 348462141 751821114 145834432 237540285 308901955 540058837 112046526 859789593 878420004 686989926 208707750 285112352 905379951 611313056 747987347 348326819 741414680 199800965 280180414 820373479 365318383 675824710 438879570 135029778 220785293 611640589 840593020 862055959 143099339 188689058 860439347 264751244 179091966 331555978 734446031 583921743 416157686 320754612 606700240 185164060 481402748 472649083 185237389 642965562 355252706 450984902 620303723 894557832 994297995 660033073 839260882 647652083 326440681 637922787 460982423 483087408 152823303 418601623 144109732 557093381 337821899 754175592 675881220 776094396 798710270 820263023 833823990 350041576 880685734 571188829 456114532 641846513 697865667 540683467 214836228 855706002 517717572 951405492 880955643 934387439 390104038 836956929 598387522 992203815 595000784 772708828 112202064 133115701 932671993 134462164 718413693 475659716 358772385 728127527 305610071 340291734 412903588 813988126 441836655 208157052 826878033 917115701 237719736 318503774 265665327 727523088 608835822 360637570 326951616 634523404 220301082 104700027 130641030 803297978 234272714 518662989 929887042 702296636 629404177 634347461 514441026 682419396 721085147 387686440 202793263 365514732 895408873 153234166 809452191 701418605 364972508 534332456 887292634 529679240 516912714 592439708 987350736 982600695 365034325 949963353 739896222 871831654 889564982 364363319 125851031 203836211 193372414 519399206 260097620 688762173 523155081 391156338 298202293 865011841 986734276 753672127 406387861 146939835 745696114 275810415 111979346 640779169 187749962 404284274 538375575 514048845 286894466 353857580 288640953 399444202 778061385 347121343 897459103 696904022 759949150 225042581 690560189 530485549 108254515 664382100 363186521 488837539 172277693 686578258 263793030 867433387 426138279 639562765 819028810 177319143 697086595 522820844 823338168 770252482 796913133 589029390 956538044 796350544 616546840 959412609 912455610 103007547 400671408 340256366 776906344 115007286 514468492 177384416 979042884 374263424 126662200 524455539 112141219 119925827 715582884 793741095 524974229 283309246 754346698 880532158 558766227 673547472 104137835 983165127 154025277 533345471 372973321 168582913 757807901 258045862 696029085 409555917 873185536 433844727 213397895 793058528 194151805 465238410 319880848 855857377 745717289 783271188 545258629 309512939 665096652 889182657 602710448 845982532 275676872 662578124 712327016 225232761 321590848 691795940 684434725 136297296 507830171 223812621 550082632 109753725 743392527 729797132 816851661 733109070 540208969 419616285 153649607 674028155 449636566 736793498 417697492 600713098 330485497 670571875 804564387 618935859 687398715 376630008 535783280 990442769 991832399 491148070 252430627 865549684 974272024 724515976 534221615 955735904 666057569 998579181 207126572 670602623 594762200 135562371 768625604 821591841 844490125 294464887 624146667 276553934 443715596 737617592 514763907 960334071 652379852 865935344 705325861 543714623 264203610 315390574 756679872 613991061 431875664 824406759 916223959 947900756 741212323 973480381 721678285 875873580 740602848 764926971 834631224 872379426 935136798 227547992 593147072 275014971 594669333 565139697 251109905 893921129 551253551 733182146 318838432 902418792 598356384 709720980 199146212 844804981 401584772 434091026 451181328 791059494 402520728 314648896 557184252 895956969 415138183 721174905 576939595 152471010 377578993 919406866 110685655 465199350 897404779 412074207 367251136 596672508 959224303 484628672 660876706 248352063 774994930 330305006 143445438 592368547 593356998 517065938 238979639 114161337 663569530 699112892 858652892 668482122 803455124 306880361 982475996 332456854 804419075 532932491 399366513 703199888 556135294 684248625 456680614 913975178 534457070 635680544 872343856 855235245 500036070 408943769 206314700 853948069 469007048 637538624 593952609 706373930 776282973 112855238 263903927 207350136 938743305 464783042 678469153 706295183 727241535 360863502 338793730 453079735 209632251 820537629 420024545 328080497 466095038 435382222 113580339 834623611 231297363 108713061 604797298 734974914 114593365 178540458 958186336 502713792 771093645 652919675 188625310 683014055 239412000 468368784 612484385 355359072 423029546 913246892 215849753 488188675 283432343 782222299 852658587 718790088 513521272 733945780 958555607 560162149 484265682 360979372 582491067 114500167 869632734 693708058 508251800 180758650 329269457 926677198 507502099 720565065 474286743 986373793 990070314 441824680 415262831 873481267 216409252 761532622 259129533 346921402 460743367 776301632 805881701 463792772 727429565 365388645 290134689 673734919 934126816 284059400 731596309 612737040 664977647 616031600 994240659 478203308 268186630 461891411 315914084 534424226 803803479 945565988 554299609 180792792 332525428 196913945 281509587 557385336 681279708 722343607 325160742 831122799 190924557 129361431 674105553 392767158 392939262 839249776 978483885 810643530 265318549 713697393 630083203 574833784 689260156 549478728 809756747 448849369 786385276 101563422 578573068 581285551 175745662 776149578 440946561 711177223 769127583 530917721 612168553 445343977 877590243 408404870 921391878 496934393 265349143 191604964 133413648 459470380 866073632 888266284 494813104 603503743 450051252 505089134 830457283 628831495 721437333 199454211 621429320 616826095 403047334 846927864 942960475 947126145 971281859 104087905 106060480 866931813 809716770 868326242 713534463 565418617 199763822 123224322 989426897 706719650 936113919 233426463 486799547 650132331 660073984 107302798 193437362 613020392 476364646 706916438 403969239 472986256 629289833 391450115 259448361 664512212 449221605 367149506 416390664 592640780 899202559 868094849 842323020 622014334 304158813 188974893 537760651 892024742 609083365 544681180 362186550 807765993 216199581 516238196 759640770 454938114 774209929 578364598 832892377 864172808 986420682 535323730 725131992 427106985 342727682 829246822 987126174 751497226 512632973 827689378 886589639 353493996 203822578 859631837 437187055 954361368 867706213 809158075 652921232 227147051 145054832 621010816 561759012 753606555 697288880 576932768 341987955 961903392 453857354 351629366 871652029 947273426 151604892 930734253 583287260 957625226 667992680 100976034 460904173 912403813 690941221 844261584 286632369 931303256 182083017 670374833 757565324 358676517 294966050 938834970 527121233 183331026 999360699 875428032 813326740 188309131 496552994 737311967 411002487 487056307 649149397 211704764 552929232 654380315 427289661 649643357 567626209 660798434 755893080 525392552 296271026 765277411 197103346 555117119 297262325 269127966 824112403 777440345 931063780 151583775 932932905 455432505 838471043 808812054 388441263 722691628 656213864 132120074 286912775 657527085 699234921 195854063 442857312 565971098 907704298 249710643 341831134 617981393 182685665 647867504 753889978 671932329 698676264 633369596 721495243 351738508 860299154 880059283 229225579 631562975 660140251 780486098 940700022 676974978 994497565 902981436 482879973 760907740 774812539 141692770 653064819 274600947 884111845 341052582 496697837 886778408 680990031 683644177 862977303 371754183 298067745 660734492 771300133 524836890 213247220 956282188 917968897 430643379 761930442 844463987 327833922 724845620 200682768 491112122 239983711 373394167 927746770 769056741 528831931 229181810 100390639 199661179 519464517 100436381 322465239 471779469 767569254 118816907 733757028 890578478 133029644 312307278 652291258 696755075 348858165 717106963 686625134 374143981 353907808 738351502 387206794 923404096 559837580 982866656 831500589 877085303 585725669 295190305 223358911 862121756 322354187 312241851 480001589 949255871 685018736 230491395 748981693 479889698 315453814 674018845 964515463 935129513 722386643 920278359 877752058 736759883 651737950 812479536 632982771 121279047 536994745 872035557 932049946 609760647 220219333 105265754 269810362 340159730 994108841 700943382 194889645 524321019 281233398 115089908 700324248 139686256 492533094 478219164 799840620 813721887 953779696 481191457 759666114 929391451 791869826 434822469 506098971 508628725 719809702 571578591 419544173 582941726 499016225 314073348 927479525 500942742 797103108 222173211 962382522 580400339 674001149 549919430 666518805 143414084 346857347 561866379 939196424 871270935 598705662 455825146 250698909 680639504 197657155 955306398 256967841 845388203 279639510 588520993 552860423 655224194 963316393 917968311 116678424 389711156 737279512 831496019 798916398 619088838 868123813 620146523 555284176 551036615 645731664 183938053 560937786 475903794 558320792 941408284 470426995 557021113 214481056 143209800 164012790 244109625 589004887 774673922 430014506 105590296 222011991 901777064 918613378 969671001 428677856 238806538 421402882 246685046 774079267 169829701 542360540 337933041 587333039 833002957 679643394 207178573 794943359 873759116 259426640 421137547 593832424 648752949 761072691 280214055 229677700 688130301 819612085 445648741 461885148 510696875 439636172 518628594 140724683 719204437 969303493 892759591 446495145 903225926 161356838 420563305 265540615 856850207 206956561 700728201 154404506 899953231 410124120 440090743 900708462 305633573 462200236 631992481 528996353 195018420 628578147 669971564 873544810 179771704 476770799 458463867 551706267 761230397 702174845 710521726 336311575 944733472 501736205 802859050 674047824 902145995 970632683 374600751 632369449 477020076 685067144 862659218 190748111 556461512 104947184 610460614 852151399 548269894 733836109 501796670 498699304 990792830 476036171 781619289 605640593 964411046 973005739 150907208 603573955 604396392 583425528 445641090 461373309 107093179 704591773 751725653 953435799 929047638 531733052 851483758 103619671 243046162 682118127 574540759 525714858 772220832 396939162 394639406 216897876 264897836 270133238 833550083 981381374 783932874 899726940 182779516 462017348 572868408 119474694 719914376 286975415 910986669 847983688 881200465 576345993 647621984 849806145 337316791 439704720 954287910 701801134 302424535 709038568 777350246 757824759 449767361 899077006 801679358 882777395 247380524 213506514 463612213 392387084 631429595 195425947 253744828 804973662 754687041 840340718 822974254 698572502 158388688 139709016 356014892 203962285 442100905 943351010 150870205 337761634 887271588 987282710 306223930 337102004 722365708 951927238 648325592 690178347 137120008 361228061 461174405 889601548 896927522 122934112 484245693 821658753 709268038 795397238 432958669 623774634 112308352 293746845 326917085 238095332 289365626 658984251 216847323 359273312 832781006 383066888 274251880 487842069 617075585 543226198 638593607 627040161 953938486 478600610 833954929 237252233 206267678 198071957 433338613 692176690 562386118 333049221 913411547 337372181 719189540 429371090 462750483 702363999 582073359 214759075 105677558 887458721 956282487 697679344 602131089 956306840 372903191 243066176 842215730 846016822 442911897 978224796 951973263 976001507 677622779 679165936 770510103 467062553 659033715 707262052 897315557 711701947 579457302 594288723 370650215 440692165 531372214 538204376 310410113 151417743 173945681 375265216 609572909 286424890 784307228 267407986 802629689 573955817 318543163 559692586 594924744 854915721 562711238 928694321 357228719 898212276 216907917 617447371 852601573 337226854 451650873 438537839 473122816 427115158 294924004 761893212 959050418 657312853 414734099 354751489 340287422 108002019 546334434 596161831 589674876 819665421 568230441 631323633 919048202 677365824 275367671 174446753 147126135 861762480 682621305 345634313 662847034 580176419 551338123 187949987 581850640 523622296 521951537 957997172 193708653 904923502 817198340 989070727 100719227 958295904 842585627 463975132 857449203 135003165 443240341 808188577 715599615 586214800 264439340 167650791 679119733 333156631 502348152 698617914 305808942 417919633 717361920 147512714 627219095 160087006 818541877 553194743 404922413 995837284 624819529 772132280 342702980 322951249 287922927 258063643 117948840 828633609 191545035 933561625 497553720 707136502 129420153 350665678 515204844 980820661 603247046 895063260 747577975 576647761 308737305 469903892 672888462 395684823 807831547 202872438 102533710 872410962 143201245 827747407 866504517 532211441 514335865 663008820 930780512 317546717 279813363 824088395 395052746 402458935 611934442 107780754 454683266 770840915 220122366 551732866 500865782 803686427 278488889 845455110 972336842 127806283 740683760 971398996 775683786 746049532 686959712 582866653 975415399 905168787 118878353 613652162 244585540 963888439 310352025 405367819 981460627 534871242 876423602 641297588 444883263 242499787 476296115 351996649 428956175 485298049 130524049 920851586 121992226 835209458 973469921 391696606 915796420 979052106 350667420 174218952 160263051 411987197 384870417 359312881 973588666 348448936 170356935 123619133 449177016 662414227 604973535 419979332 215956550 180860649 560272408 497103201 159677080 582223124 487772022 816358809 969806908 159064709 849380528 941863872 783894101 348478209 103265986 349498374 912989383 270495204 679907146 544045696 161456416 564457087 482390949 456878879 492620226 812528933 763386870 288163104 876996471 114712347 771395753 569089031 411533476 961246258 140280800 853586231 310999883 289841690 390636618 600793215 476779163 572163774 601182652 758084163 657282350 671190436 418916388 117887762 995576039 145543810 436658964 369103075 548529242 493283385 590226025 851486136 681626720 753881234 881298136 237282181 605882924 140152193 259972627 307017342 482804940 914417367 875576359 183022443 950614206 933243994 525971634 204420960 571045990 426988994 657413131 665807066 228632781 401281714 267622225 376866029 319345603 123486618 396476384 358116118 932048049 877983768 984990796 826802228 257196999 537485652 316615359 447930244 248753711 264421245 450767485 239551349 683905424 548787238 472285522 343794749 444450460 664580764 981734295 103269802 810951626 511106477 419283525 783852155 111865669 362608371 253501406 516993561 563773936 168996540 911530596 403964594 461460180 757369955 409341544 412179758 375204281 948939653 111195622 788088968 415446044 568690947 938830129 462200321 143289791 917918102 641840625 732918441 881638857 984091865 911202294 808655140 106170956 440848577 549847646 200951632 394502609 274455902 759005225 766140242 875448662 787598266 614324093 455276178 910626364 992212232 150271216 369317529 135766076 991972308 639302125 273956286 477465486 253450958 254550519 625346559 802714242 562470954 427663670 656194626 984142601 155615237 734616287 392563630 801852550 566278411 940914192 953459188 461789219 912282048 857247643 563261989 331949055 517303698 328590267 688244069 885914685 467413937 502010305 701582617 112040162 933505360 574108087 580690811 785735691 756276219 677652236 515517110 496227059 410943004 651783932 761707697 792804977 385162537 989400512 946760405 439275053 795855474 189728293 477742926 633889647 658618893 767924593 942888601 807402852 408532499 848569728 855711639 889601459 185697961 790065648 812753486 266452485 712435150 893655767 506112908 206253689 973398678 838895214 914022004 379056719 435612525 993849670 945656614 178185103 178313765 613952635 462528899 298525993 657208840 877850923 200714173 205933125 413793640 839374949 959299431 554119280 366523507 283658942 426039279 947369810 490261467 603099337 170975628 362017320 832787205 217136679 360592046 853663996 589917460 453096978 510700411 594635856 267925537 346708078 713770436 207676741 173049637 814963348 748591186 578562779 412840427 268797003 548405920 382077127 797606686 129735431 835710228 459283010 280479299 505866297 129910860 961994528 421332072 918170078 419832616 420450863 175530025 805745846 595868307 413816610 223779627 321184783 483892278 103040482 441720219 364771857 682456300 210124451 451402939 299631947 696952239 322792525 122899049 102838667 788452727 135712181 593424612 157979604 733815242 980090258 571459208 548340635 576692056 281928035 154646925 249611581 609350967 978436372 729713146 551766271 765048266 242416941 243646731 571380896 236692996 494932352 508962989 902123353 862723467 922085333 643197715 832893075 653525033 541018742 556954041 477167552 194854697 688514645 513382132 131569714 925482580 566693662 944309747 468374327 478728285 360843686 963490492 973924517 621819924 901169609 182670193 822761350 291760224 824813624 575268927 973321015 633908856 749091358 814371724 361330020 539199612 653548249 640078305 987484944 347543292 237775671 854491115 810052922 839681402 728388991 886289554 234725496 105312499 271349126 120110100 304046127 495621101 826947963 626528489 114332767 331889511 579334544 699106350 656894614 780926069 878478587 785225634 743462202 209595362 597887551 627075697 397799500 338230516 643157920 868603387 648848141 418372107 178743636 428898758 726108726 126437035 362908143 684851244 841704124 271195629 162497837 689627077 537573646 970215562 375474536 964233228 724488492 167968672 302315071 413679088 738144113 432484654 205483973 224906300 598836229 660996496 936764639 819068947 636397984 427376592 778190875 484870413 531067960 184079288 407538059 975636162 492112200 561660943 844666164 253485369 509375490 467139570 221093169 972503529 452781928 579012399 888018791 135549070 676259218 368116340 605569857 329113413 813654354 195601301 522523434 379748326 455845416 164247098 150553396 730996102 412281431 212605758 735784482 471670133 143789720 699267964 248556321 898728125 254598868 315357682 488663896 470843373 751343555 267335293 213595307 877746865 949608736 634406328 178113479 782005503 751918935 469357637 189587326 836601162 623683737 265669041 965994328 332622435 360332324 358972942 884173403 404862490 737491622 962604108 309946463 476127215 895817497 815860702 914427611 367780174 932664950 621690731 770120425 568667371 423111230 714300444 493358294 413970798 470551154 684044887 128039056 540306447 749688339 973989766 916861365 396163088 549502152 749032423 692648485 299075535 179064701 289228717 890701300 840957099 882497937 297804728 614002157 278936700 186744088 481642672 124783625 538991878 181928468 647576608 865120906 508681518 290065953 140175541 116962810 932130703 345816018 145164369 659912285 563557979 736866809 419969929 189758909 727954986 653852720 727414819 640483102 814776572 633258491 159758586 145465545 461108333 210219475 299250839 185095510 444447739 535785345 405729080 294303818 644745886 149725014 926651319 813171633 648367799 495545599 252916182 766659270 746656500 407700243 968647640 150464365 763327659 417766010 639810829 375036881 261984625 666832864 188516337 605331024 114573863 998226829 294033146 777813994 391219420 398277397 853333811 115729526 376281811 294366707 353976975 387540793 716622102 714631541 582597532 491175469 997654504 262949944 514949889 191038419 514520047 626501569 762191576 747495990 275063565 789496898 716219861 764233965 561238143 730563043 407916943 909538861 110978604 815946503 972657338 230951918 752442220 732306475 503018316 880398945 717438773 164443215 764053540 551156853 484603248 937831976 188623968 774784354 530058453 320790392 479767456 924719916 381603630 721767536 641921792 625643370 676093144 204942667 300760376 315286513 613238043 652216537 130827178 490524054 696107553 936969466 541385095 913114188 616171407 754196706 593683409 578676006 137313893 141354360 655219788 609083133 227630267 885165209 903612509 888036916 348712662 669500419 796945899 148527020 379243153 654768581 598576265 857189510 482862513 487413736 477178612 177996145 218290027 199364672 939242553 875311421 455467554 464011268 873210905 809731234 915798009 834071476 788292997 957259316 886060630 166646826 628650131 301268754 716622364 960638064 380821604 337923421 680409586 723961109 212685119 483086415 536847577 942124704 179011531 146873677 913880293 388560554 926606512 603870008 918647637 422837789 188327837 309002491 726083750 272906018 228712384 258939044 295845145 673162731 119095347 120485668 316908679 760415026 616374682 654502132 232835300 899479587 569153829 682197998 829983975 539224205 158906998 551380583 442387420 620360495 748833509 786778825 547798304 810438981 840866344 491369805 476244777 700917650 442648963 934317332 512562291 117036205 704523622 606107136 258224307 558412816 487246549 726766484 540077866 924146158 223063043 391690121 339597794 110893713 356738843 542288218 329089172 447179209 154994620 895232973 994172799 935848163 282866045 670283993 663093216 799854608 113662794 258145414 288763083 914426858 741551007 119337646 319328771 629359388 115432604 288588250 412196814 709064647 746707117 524712059 567604714 939788008 833879220 903782386 447166753 921889535 459757851 419954512 799819666 566828906 672077229 725040445 787331197 440007706 767317172 763152922 977595798 957231376 633729317 328169605 737472961 418561975 394679533 495162910 932941881 527564249 882766825 147606967 542662283 542154682 677876182 779038026 859568596 939543745 896599136 946330099 683261111 924340439 351377327 964079653 798804078 114590364 963064334 465728456 686065746 603310416 499110514 274470272 187346842 167387414 619413240 374080179 706377445 484233893 508299464 458839333 869779364 303277344 493605361 517315875 384557405 831923033 797854203 988836964 721523585 192219275 397645276 684245924 350229326 232709949 149747747 693840768 838664682 905984943 897083822 390182824 784620048 698035950 900117815 692151870 966590984 667316258 535882597 559746541 508021042 425233306 826460202 225387883 127429185 491640807 513224958 149404630 120614426 680688541 374410884 692905127 539932955 801312937 993051395 542242606 571899582 118767252 689953504 370603601 201465252 854770802 152286250 284609510 346962515 853363224 139752526 573186039 426037221 204503923 330060638 978028020 697528820 577277216 971309560 619842104 518757265 479824199 625661180 982474184 327841866 503073034 925733578 262124279 408694221 188231502 680290165 215467063 596113714 763454606 244208740 745531832 485683528 150195603 271239521 208332483 971958183 761811134 949928571 426439079 653940131 768655433 442450547 476618298 422897190 699185141 487390232 242096079 968665081 384012606 171390080 884398989 631091688 237210135 348390257 487312613 300528826 938051936 660160379 822693493 992730226 807526714 459304538 436065148 570534528 607658672 112645775 459126077 790513185 738913268 577922238 158705281 764644372 196131994 621113391 796153138 210693476 361165313 720636007 819406811 817135424 616831101 625496009 149242456 260807990 513045660 471334652 655682734 660655912 920344038 337707787 802208730 108486156 282461576 329886353 980562132 887280836 514564878 551304210 879132951 371357637 525451637 844347136 168403548 585786005 982649762 977684152 983334363 332270546 218925984 253428538 763831788 324154061 253818521 816702347 117210141 683708829 486431784 179562749 641070262 839400232 843894557 286866806 228152387 596022073 928525931 488229143 483756349 797550973 678708607 415079255 836120300 309327253 519213330 831693945 527682104 794493385 978100486 463743033 553851724 884783073 588764853 846363752 395737676 946389390 786579539 352457702 837339802 949643762 549689958 549189647 869877506 695105613 385217569 826944053 920397269 962508668 495140444 864794358 746163643 698775579 881438546 779481274 390616049 786954914 236890518 537998884 629895507 826620675 471709045 867542053 442637210 395385647 572833184 530669261 523270077 209916995 676815334 692223384 694488152 877008727 824994512 851701453 212127789 113645595 202191186 764751534 924834817 909939727 994523522 125577645 409987102 215226231 755511672 683678182 842285502 565030479 863312918 798334245 717928962 942795593 104984086 333392532 364131881 420899969 973383843 269375377 772474317 612511744 796655724 557112065 678633020 658039868 543913593 953354291 129556486 857833833 260289755 398631407 967446847 529502003 201330261 958655102 449365757 282594550 549149181 999086882 951324258 835329498 402079815 942029661 510341942 389604029 582587481 720408214 197042914 621744655 702111560 155114634 736918357 245596358 918844027 546890243 504072873 617163512 808595672 152000129 554222244 405863006 107438788 803228522 120595929 334080956 183787746 784089244 595699826 121178378 423993876 748139396 696479674 353435532 170912640 523779161 995943433 373048182 218557700 442849313 635271244 813930363 189018854 490697395 445420226 350790239 108122503 345786755 314029997 362033262 715224446 728436897 119598528 384514026 280088895 782739204 866059478 457313930 149077267 700840336 873265839 290192577 625778197 350365781 487902895 585610446 751560757 901442181 697542205 116178372 712255086 431520658 811827216 225136952 450292077 301283276 966304491 719349528 574985702 293375137 683127878 157704333 369362582 453342831 889583999 172670772 124567655 337831153 704336317 849664381 812076261 351405410 355940702 579606139 729576840 793488203 956569120 316004285 514147720 434953502 338603992 787983031 868695448 191214717 472266747 121195677 306407018 138917734 245282839 634443522 513285498 872906323 917410565 495146462 573728772 346835278 501937663 715922978 324110103 246433450 431199504 566960738 884931847 171007790 236565882 300507670 871316183 410148992 411320944 744401040 438083387 992840617 111308246 668430899 196527531 380339216 262929126 471406031 658169014 690496510 914393861 298036473 988010841 276808898 555994325 203024877 474286108 775267566 707005268 834764276 864025083 946957148 812976499 537476941 618261533 611148716 169676407 991214904 851939508 908670992 208884026 205395298 546824986 218936569 414112125 986600722 644667295 595048237 103170612 115728497 424644615 451280236 135642563 780951231 802362810 101955869 777322278 933689029 327339921 129815569 438318846 815511446 361380759 322915420 651035709 965918834 243054698 901616797 485056364 201504406 923173158 123796345 221801574 674202579 671805409 968367337 510844891 671827872 523959025 956657059 136471916 950681131 504408341 469290401 803804390 868778808 624316134 612886721 165936482 513635833 329424962 203493155 960185968 878590189 365848826 516789301 447350648 240040123 426245186 849979163 972730424 443289241 201407777 951376483 456122069 511547913 281058513 157587151 970272762 367396731 870076223 302008521 601846079 906148829 403758329 595938607 571036961 829318342 216087606 334696501 423316392 122941161 210392508 311579805 244524556 667176178 587111822 874314109 456642875 256760471 705202389 442372691 742639439 680230777 541819660 286667810 533229326 865169695 867485228 218595358 959696029 765763471 449358357 502985480 863612552 508494050 351565644 461067672 812454277 282547137 918811909 636837609 499072583 472510659 693044909 878773533 273085701 934785947 274750778 188613485 733295209 704720971 557298913 590667216 537173196 783099664 593339381 996628340 395186605 360728884 758173745 391234263 970518847 925002941 493793694 477456898 167734388 651884490 554510208 453050912 998033698 289394020 289043589 585298318 380451812 297783625 564611954 485508288 484064787 956426460 148307565 878988561 728484276 333418426 803379680 692546191 822943626 676371457 115789332 597748818 221069398 118582529 126626615 676580256 597097633 658288184 836326067 521987065 953362848 208322194 630581041 593007520 750502402 992239364 582607165 875628582 909535686 455388434 937111653 234626641 490624990 938317684 842769301 926089636 475077205 470685017 247061276 636030548 354569860 639707687 489907382 888437084 364030320 829899617 403660330 658334850 338726700 235588602 745011982 504929046 562256185 445091334 631361421 533929609 811762772 577699171 450388534 626205955 485565652 644010815 423886744 676363792 620474853 711943181 126187594 102656444 932436235 676652390 286786580 782067881 667177672 820425602 594150676 279553966 549080453 901674622 533070060 763626199 430814592 291378944 875803198 361150424 210788822 975874721 722026064 190706284 604609003 953179787 789710635 281414543 240677446 862267496 170118627 141271187 956146631 974794659 944337232 531575203 578249476 673674425 707828879 529897698 605681810 493891835 637227814 679879252 569066841 202297709 348403341 664197239 557284536 183321281 425731600 516902395 824982578 135185390 804075176 575305374 850404792 907006960 872599301 639413655 695307680 315202594 990205263 681124388 537344051 661160381 381074264 762362133 631303324 467340561 783832182 787197504 500285950 593844789 417050012 765052514 864978023 441071011 899908467 632147067 611597634 760815396 504996888 221398485 371006977 879460803 332838785 597327479 841214760 914351075 427804065 701436855 697873605 591189032 624641208 382065251 524106015 924333940 523474927 579996487 112291246 839545583 507220280 919623693 532895350 621635497 799383384 116120684 429708757 347428392 570089938 524119594 729733036 965144987 690977176 841038502 431719338 616172623 234828683 358477140 868373290 921416697 498534039 363505929 672491969 414545025 274264170 531875897 871236299 598162980 906646716 972441732 540973757 993186585 117479996 305033782 389032648 679205024 879177783 732293368 473993657 948173539 993345960 807951740 306642988 519782906 174327412 956861357 223170023 646761975 972161158 560904120 894167057 542128110 775254688 209544416 873308007 364698021 446343388 383896870 767029941 416388289 144464062 143408204 232288227 194456786 860286590 872136160 330807756 185735728 155289440 763631975 958888271 782377580 403998333 818944029 593931990 649842479 119225248 585933413 788995169 229498284 237400411 770275756 504087500 499956851 252221154 154621218 207400163 116358086 270175248 209929213 319347751 805591331 850318936 458917744 638453836 525230226 839747998 630751334 355068922 219967844 862339794 580090046 819817029 356862321 169925008 896224795 473672484 878618002 831501648 997030785 149119038 233206187 147828143 927150094 499469927 300269425 221592759 888463282 238809424 101321197 177297566 776595734 952878478 899949519 460446130 403082533 683486315 492881131 791902133 284472411 122934975 896040684 662913932 851021295 148278346 315776054 286710088 545954852 225062038 469167750 506543146 553683039 605315235 582748053 897270793 275645017 569427921 126411571 265544683 549344345 190487476 154501065 412025060 951324678 614617907 641494650 163636209 820085903 494788596 868296722 647852260 558548663 502820834 176061868 893791316 752203409 169395631 830956351 262052350 867276880 456076005 613444085 666777322 336090767 163642445 786761621 697664339 160439482 651816290 774826170 884508363 452427443 382352447 769497155 310139101 853896851 315222857 101480286 687330989 322566468 153966234 979772730 808367371 603306309 530991724 492445464 267383915 789636895 358501947 892462435 760314406 176361482 610358941 811483107 296755114 222152766 652726097 847841506 995580528 344928334 913230050 109673275 357185557 697025881 499210660 467511862 758270379 779905109 293502377 960858742 482768334 729391943 296642417 918928587 143870533 677840776 779026005 353070817 863710202 890168702 977603630 325626045 369832242 847804114 845374207 634545491 260156064 212460091 677216078 803518232 434371399 369164436 767328012 347548879 735738489 331377248 589276935 733890769 588413013 918929248 524022673 210691908 632411035 689967122 788087529 896896811 813607410 859196422 270178064 483823589 930730220 529974379 765598845 180059280 932016849 514710144 948257731 415197282 833668073 996252543 359752035 726302254 946258206 605143802 742111327 241574961 193460301 927330472 221958869 118860087 201352022 549700593 770330336 198978678 222271668 929318605 700525634 399184874 499760506 202097805 759184762 601557483 495624687 825630591 279801349 968837147 225286422 566277303 654678177 961226716 463528075 857384951 105589582 132089062 855940166 753906330 294694265 231238693 462604547 785453550 493410701 605465722 858799748 152517960 607305986 739928623 188500077 400320831 527545825 331350279 320759249 860473025 606088462 876039886 871365334 485383126 373339111 967920223 898851296 533132028 875482359 530177986 964899076 727086900 920604613 534182591 216497858 145488572 733637781 871050636 544825838 584485001 440126270 401348369 777730145 400482596 637579161 410013438 425762922 772595290 912561512 739736529 877837346 641426040 973796623 498230285 591677645 901045151 252225090 475118642 295804743 132583965 334583167 665399758 287750002 371377566 648001444 489207467 991668588 334722421 375184516 354394668 447429943 196955914 427017079 521852762 604762049 733132366 647209554 481301102 294295719 350233824 612445785 275799143 722599583 924382337 745719315 573624715 463631816 656625857 356962842 780044737 415901611 938514791 300665138 318250998 790620314 924420838 197108782 610421870 577055916 185363512 477658640 138356039 643514782 819613626 992027231 744572953 420109997 932650630 814691509 496927590 486019875 684336852 778318653 990054065 556283958 837192923 107881280 194463826 550000214 817851031 914235192 623902745 113136172 386997783 769962488 973258343 281685699 934852760 941405591 481155330 695546931 486846477 808869336 466368741 927525634 415033035 440069913 648647089 847268509 313701626 973291987 636628136 161064740 568649624 254860249 936737403 354312296 326432810 702137813 558590270 312885978 704459676 578974398 562031065 722089240 633843041 258528730 581213067 679003957 945633594 267797287 393634529 168122628 811248952 902642316 734130950 645549276 300576057 634838090 899571001 981400220 340726741 970032750 329815595 170868460 600149332 147103017 225114493 251557317 119133122 429243375 869574826 365058508 799783359 683296311 307768111 418653045 337808021 767117454 616902396 775541682 692326366 280500048 673689081 421718287 898648011 150660632 849482212 324181126 374832757 453681865 581459416 588129024 100026736 305142974 300531977 677224218 389053258 631012892 150882568 511560893 574151291 105997125 349814848 242675251 868409269 850330509 229219950 693673579 923802210 271872538 631134750 290180444 705457442 987923649 880418725 309257866 756723542 478301297 654127574 614338119 188827641 760391402 770691071 149780844 951461258 540265454 717756618 859933559 218203331 158686411 333906220 655139266 471344906 391097394 766173339 893048708 369689201 754744400 960829566 974140031 213869216 949396160 796127436 110234967 996728810 918899375 801052253 710103990 182169358 998592101 424978999 353076609 288285161 142598485 960759524 439362637 532351335 453833065 174483607 148196243 274030829 808367860 779090088 174546286 245188759 241560972 350487780 332242656 959855608 574180004 302145346 610023901 839238630 558055196 423406012 114918074 791646968 723934762 563811473 180360658 117657219 190703264 655967226 131465730 190694434 863325537 398688461 389688510 219271739 350001205 620554158 450395255 558645712 229281297 248993885 762527521 570019050 908730740 279842773 557653310 159787300 894346196 170477740 388856341 987132475 866125710 180098787 197378628 760303348 745321401 600196203 358383372 417439260 241461155 410535993 556754701 700033519 908380532 282063942 954915627 810620088 713298024 966171334 637016303 292883262 393172227 621196904 417144306 522743615 354738060 979226233 256381514 389322609 701166054 664366731 955518027 960965449 499072962 634000577 293548591 817429273 613007563 101662704 935185244 465153402 556513365 570879967 521825569 216408073 984447580 849606935 571982590 944217889 281502172 973645030 617351219 142765304 702663488 443913552 693713213 632408285 457095921 979392989 186791927 281145191 628131619 247681921 662871194 877074206 452525703 344254772 175087781 207056272 965005665 261328958 701034517 290201766 245557414 406362818 344475170 401551608 680853739 777479337 236417751 317486295 796363395 706649971 278226153 177180419 763376639 390980176 491777450 491754299 811166276 850443474 411322531 617375378 431352269 523083370 865183407 137737528 999267083 400658149 257750689 217319766 259565578 545024989 398484364 819681980 312926105 260361791 286091890 191119178 732735401 477643733 389390028 849238461 652519294 268090792 420748077 585804265 553927546 296137210 933412437 609539176 989009909 178715094 538508373 709429579 375691249 488303108 603262318 942654331 647530756 236751967 498161393 945337947 379380902 786501196 876281305 752503066 468904981 617483223 616550060 120751677 659166095 706136191 803233226 659144726 358253905 828403481 205312868 851905348 653434998 172814465 792082891 854568576 589149006 724421391 520113222 727201243 232322563 570447372 856792048 978586489 901494857 376537172 346371683 444966231 568100088 424729628 996651728 475262062 882234716 226461798 925853162 360778565 541071595 132332836 485496344 793093463 785993852 164246176 219651131 409047120 159986642 647210719 845335964 193744770 699723498 269827058 134240707 372684989 255905151 394998563 769003375 623902774 726988492 305302972 250423201 672271544 965554690 347161205 324888166 282103187 181013753 289884590 794509819 672129015 523303037 223638492 476911002 437535816 232241195 577461440 398700178 409587270 847240791 647057033 746297686 295387943 545875947 850521003 103045703 775508000 109681010 520566370 946305347 202166992 225082992 175254643 829385804 858899202 689636931 473568552 376171260 606895141 396238341 896330007 371051111 544587443 258426133 366704361 305042596 285557111 199889863 396537230 362426156 170965006 367722166 861062439 808940034 369562849 318405162 309826630 571538991 871936267 180256018 847425166 353485454 469206118 516449347 492265964 463647295 397459465 416096097 920259785 952451256 326789579 296077408 455934588 311761422 475113691 498379470 992727736 436137619 506653453 867874515 741411939 390329594 944549747 136211271 671491737 353211278 650919880 420424847 710670305 859801368 928324033 686020535 351062574 671455552 782622277 464173467 134227455 954333575 674982159 612744039 100499369 367936571 461824491 519374606 879727697 702010230 640978113 986634589 865396942 886135467 280606028 779622739 232146781 422037725 799911874 787296870 464387163 539903902 814584418 355683496 139215652 384050832 980584611 908984577 396952133 286316258 837708066 327468479 929734252 649276210 321073408 600223797 379105381 727816368 771548599 988867136 152804959 413835598 664607645 431302835 361246073 427149321 604864348 334458781 314671712 990345793 730524415 228497034 933053001 940222260 538041334 770162896 614453829 233294006 810344592 463286147 214812419 832730981 100105564 878731050 961264162 960968363 899107738 473494665 828302219 357301915 465039550 783569055 904800096 394702030 719949007 126388630 265287666 625642351 167202321 648514509 982277757 611771396 194596144 378129690 217747262 734218973 915122991 847010118 148722149 112425511 433638689 917687231 413729114 489126094 898705466 487422494 481095339 932444634 951352951 243573045 377213098 804310150 176671257 141475790 588817301 915744778 991555833 356993928 744056534 211301946 620904398 161258696 616810449 129633779 351418405 562525486 268078911 938100073 308177718 580333129 497306113 413497279 505780296 749011426 599807151 543296144 899016645 852250663 319965953 806012961 996298006 646574408 369713613 691390400 113639236 689308095 774034762 553216795 851105012 396987333 900155049 281466860 701612951 859976475 871003561 450728284 312236204 686849102 438131399 970087462 414385754 902230395 925892103 906113159 766618681 523175715 984780170 240586133 729016062 885499939 159454718 469353037 708280622 806033875 389863757 202583571 521313130 280894412 310641982 789060982 186215516 514557964 703034452 782067715 951361605 469997931 615907807 504706318 760349206 492876178 173674027 873893898 536157198 344996541 712497344 787741670 939174286 461348539 173017517 588278498 438146443 962212611 619406666 710729470 156700840 231533364 149231500 296090787 492778571 291613814 725197813 689979456 492511758 861021705 724135538 304643742 479990766 874172280 753492888 535804828 188786067 363841023 896394342 961700113 700951015 783322147 743217501 400476710 768760139 610189913 801056194 307705037 144122735 445983102 441204814 278985765 726736027 434802574 679374037 773379418 101615767 563811922 554545798 828962358 963283809 378653266 375457189 985135943 853126268 591828488 491894758 542023383 846017867 643431775 903175767 723634734 119606721 517356475 572692410 946470746 991348846 673506775 986723861 628119579 842328937 780401858 316183841 666298717 814739955 439237274 578450811 638348660 907988050 627133625 491948186 514756267 112949570 652262624 693544248 372985760 981136124 924238718 639089398 432350911 435227493 229469626 119684849 571577121 920158447 850961950 553979563 455848331 531606607 830542000 685348312 861695258 445590994 134254180 674383363 885648203 737312999 602235553 124661317 359823466 818108522 549797435 875258009 151376486 383337649 982623841 859028279 971015635 179567943 306037722 861839396 324954882 159995654 376980130 460867127 322648031 370111934 315487448 495090206 119991946 118555438 241640477 322103465 171031084 579301230 754980638 459081701 260882467 239897983 731650178 597245691 535026597 396563879 482988675 802031111 624936102 655182749 888727995 221702841 331692073 507329712 192948806 332072487 927570741 550035854 955019450 293119893 967449759 159859454 862394671 201305921 772974251 220038705 380156349 494438432 906542579 395201973 513427001 946571143 730554029 516741519 324048693 718638864 513667614 489726372 601996369 230518162 150338334 693567145 361108598 355365272 293453395 256220390 365907996 706407868 105844233 985824345 748265764 597443080 634152196 158705876 780796169 366217447 221013764 321951824 417916200 460609032 666657429 550962964 264715055 924521861 745018516 344625965 262514848 254514593 559835544 354378309 592115277 645552670 854275453 774863609 943936266 209258050 490591029 949952090 226577225 835681755 949825273 521680087 729669878 962634010 792787667 471119173 159436568 195811795 166546479 595281737 886219474 770723719 606489785 152681340 917053009 342402314 994608392 844294993 265423002 274169093 250198092 764823336 229318220 425040262 889724016 121762059 139873764 895008204 755451359 806516276 923500699 620036387 234899876 810045297 561697224 657777457 375145672 255149856 180269611 687444797 958161780 766375258 720214272 982915819 426652773 739142354 600294034 894526481 515694144 889847725 579556242 212581585 813762619 217450457 835512980 585266973 675550769 319321348 314679210 620692349 981021796 160889594 861989968 541752397 408863756 676417019 944541168 949024558 841084243 481059167 697815698 698219020 960893643 899902401 180739169 435377357 235912173 528149499 858807163 976233194 358393448 110775372 928908222 493191289 421113007 813884339 708438633 536596873 275706869 274056388 807443229 928928909 340608435 451460545 654340774 862555708 930722567 634764817 964660236 153154590 303107995 503995233 556799408 637851891 748319588 509835285 506486237 506722609 491528587 655041967 959194422 295649731 166643086 107590645 784915931 542662737 427723443 567450680 959169305 417889217 360167171 369148541 434465909 404577056 253077154 464346043 137405860 636291634 199651190 801997782 475942184 925637532 795334514 646959085 909113683 309889211 688775732 101324071 459803839 396984276 960708550 844637208 154068547 986056675 884689874 369411402 794304973 931138582 707386599 538232997 609337080 416518216 337250683 634324396 833996702 769014447 824286113 818338201 112020161 627565176 933706252 373469952 231940555 436228033 588455873 358831576 312052750 618191511 368477715 861096139 956450632 858883854 323340056 986179896 116934516 445192724 193724944 527097212 630394053 246294346 895455354 652779393 194986181 188140952 987772291 183689838 187487686 908415893 251064005 948379481 657442263 106939308 257698004 605627052 779858672 672674488 286146762 830290167 681330991 862781126 573429281 413703914 775343676 843149954 424203984 782399153 682283608 326662997 781943152 465074066 139868536 435869418 409173701 648399028 519227734 797951056 306325564 279750400 171743860 329249325 517320746 498574052 807587946 876232002 822236577 257009184 347042920 454196993 954774734 444425452 417233921 687039106 803303507 490590657 112650252 650368396 340408595 684922071 114600839 226539071 485483827 702012168 693358705 960864742 486611993 770836699 857197017 351337759 656291556 873623005 644121723 450499782 587511413 289084915 190707251 450849947 354750883 751592462 315185319 994485851 916776459 344609054 335926834 174278539 835875576 420841013 340859489 947207348 110715608 246462282 570590710 291067971 326293082 313442293 788398833 414013327 961631411 315814789 407605153 675850135 785231823 970159389 925701543 191362473 600845570 520313745 979628755 820009768 632414763 230960179 456794482 730726555 406257767 906443542 946758600 979493927 406778116 396039820 338436861 286070313 266920014 655030930 787489743 315615816 555342759 606674637 115076136 625682715 208300810 785997291 756985804 175817137 967454125 711972326 622917455 844815831 218254277 337519820 111233732 870159141 970772534 963387718 389716247 520724181 508490001 659510214 698319027 397639607 915021366 936862689 858135515 500087371 657794040 498945169 954631418 924558241 472739577 925562532 712170948 764492846 213483511 529499892 388984343 855498728 757012096 663963644 535489015 362659550 724287151 892360513 600368412 814552861 120725613 791806734 351111793 167621901 292724189 655389383 470813353 272072332 914814776 905329530 229209029 643625229 827762191 683186493 524267230 754677025 655397068 791672235 245149274 237459579 618975946 703366612 422238438 892634192 585702794 948126438 950986390 209683043 741604920 616373078 698377253 963592358 372982429 173435715 679896323 440287559 867888603 865070340 508224050 768311284 103611368 643853911 723345062 933398567 778352373 326983172 386961772 150874874 904685952 999806954 292571282 951830794 394443849 329555696 719317832 717401950 397415439 315629978 939143677 111473662 848700854 167067619 426796627 394314030 755870765 225842814 487685331 251535246 673938693 842665159 169974742 784758845 801863077 165364897 712309961 413040571 426013863 716223270 678583643 795414810 755078301 254870154 172509583 507065846 824129058 525088646 325331157 463935684 726823849 717299779 871659712 532645631 121934544 553736815 939440909 657958579 380875066 616975543 742336349 542457190 619003210 889069602 335550786 144313260 291563734 804422673 218434881 724859421 897694324 686665181 669596100 584230349 542000809 321646319 901039660 467939652 388748047 693292515 980795358 604239680 232532621 180008983 683937445 108724420 788931184 956007652 285466686 443224066 644278940 383682383 106321273 750607347 391214374 504508439 841791301 148903880 131959609 181727946 204734847 488681220 683176178 797307214 988348649 457267963 786795313 897342111 817555085 304194201 649821045 599315366 324564649 284634256 231955095 499567457 880889686 438747571 645002912 940688804 662595988 100135939 175456970 257797172 796307134 162834989 313706634 766468759 841865964 412568059 646939586 600980848 257591970 949645500 489189389 460893358 908887797 475622977 295594040 980771727 464115016 925659165 560663760 245067894 104322261 498829714 450383378 221419648 473165541 157859627 539122033 452503800 957295145 437425984 505943289 925748101 745489398 731239853 206845988 998169132 735156650 214407000 112128835 779264438 652913524 155845595 589846485 808320508 503996006 475942513 384613855 760722424 317371514 912941059 566640340 471104978 463685037 406142282 332980956 480828910 365103515 935671908 730676091 380539255 550325954 138615118 253024409 636412624 282200514 290327864 270769967 398820864 758331840 551067257 680961277 944729323 879803064 262309668 372968108 721521924 483401591 785068539 661932536 167386723 884639180 501867357 938564131 557556571 429809817 642928389 343453580 479645723 864968677 938442619 364926772 897725729 460055893 892343118 357364352 978579107 625193983 651632904 563818152 871009768 331628435 934264727 191177847 947949405 833882903 317603431 314578511 268781265 537954812 270233824 981499370 468415670 681466254 261371405 881912990 521702786 851650862 997784415 389660098 713771567 810889238 227409186 359235004 383194142 478554932 648785140 808483181 841883335 540919504 158856005 787449837 199383136 771958361 393665294 200238147 345234602 843719741 940269944 794585975 273670736 443711876 268076890 572960320 654476930 989398810 112439252 503180804 155757754 431757539 283822358 203632407 439036008 419875495 747711318 490586127 906324779 803737264 514303596 839742765 275663852 584927160 749913183 905385111 923021123 485310480 823632847 897200824 900746900 273386835 963169821 318950357 317414354 682848849 750285485 959613948 236133772 690535658 568487410 598136252 759324277 918788479 720104860 254743184 558326840 546330338 953887718 591054682 411020732 538228313 339263479 294912708 939860487 213399282 422588947 699052499 858315030 318638970 770186067 279222606 949233353 384190653 365352880 485762658 883765613 689963552 195627720 125466381 648708281 370936330 504609345 965469546 923297788 201325788 687620184 810043895 872817934 337203971 587531173 869455477 304162875 800926728 387493270 582068727 807961507 516866906 679485145 544844359 329452997 915412263 377397049 975881792 437300734 133779721 227666326 426817175 742442479 511017571 745979028 689372759 153089978 489778196 347554090 435761758 932097316 634891924 160318093 493552630 816671951 189024520 636112880 226212976 662669168 701533577 252395153 966524670 273433498 178937376 928975503 683559585 857970691 102802429 863080114 808578304 838476478 283138223 248702546 661247960 789698579 805446850 702691110 302737347 428155935 556775179 302809705 529699710 799099097 448583848 209555187 972481890 492443837 344516981 379238709 657536563 830812482 797381285 581837775 186747420 818542622 288355436 990197567 289871770 216499173 798010112 882666234 581529578 170422847 963597240 126019732 506079001 780982214 357010173 393510035 716244589 792535952 620263149 486368085 159504066 104922222 118908801 268458377 525488770 843390179 592173690 749851223 599006271 547959129 978055683 138834610 751495908 242018391 284534069 237444896 277826606 788845575 658600924 762629331 544301970 607342858 769456454 781329366 391178402 712218110 517408609 691453713 403548489 429606605 705936361 477797693 419341328 981332606 855938230 801867500 348307351 494631631 197896948 461835003 701031702 868672550 312608414 720201453 703507557 896575617 575474022 140836855 811020604 934255280 428787275 676704311 850232701 388232092 287388747 819307817 614698676 991625036 588040818 215756391 741621890 419671252 821932335 445074294 906156533 907642938 113198237 839676814 609555782 333249512 587847354 343677435 719732986 959806694 491440142 713027794 737117532 819233204 871228377 592436701 854218592 343939775 742846381 125156121 409622084 485093306 401881835 212073264 686325817 398865869 593469339 913238977 452575844 364604672 128590269 142920641 147592396 945015808 761003580 554564836 805215855 923082124 704047408 689380859 514908212 135779890 366578886 143181166 113098003 683207991 880488683 303528356 532379631 657289953 419074147 515204769 819161780 636800689 106790224 264931363 565343274 900679693 389963459 358804641 509621323 572361007 736225020 720260889 306620820 473951052 858741478 357352363 848565984 720876027 333072608 338997113 211821207 997132463 918798835 594870685 878655077 383665402 910399956 190500265 381448786 504508388 911673536 719714652 434055295 356849897 822044824 700879597 135601805 228682795 659822575 886831453 377785522 778863889 820529292 484434376 647445516 599495681 446058245 852977457 184327052 735273683 258900539 160184831 949944948 268078788 385832413 982513061 684546248 277547017 473561629 730935278 681870097 270395206 254309299 832904928 728468214 636200341 218723629 573271342 886599636 567038079 438148529 905241586 952724848 528684231 637823432 381108826 424209653 422480301 154301711 857985148 528994541 212319581 976054949 235678060 420688857 415759803 281817031 271022373 316345305 263185452 527001160 483620394 214760456 189407799 674766539 663442078 588605260 828139868 843925406 529363661 466043285 197305294 290590953 405183722 193753491 837640917 324633256 566281349 305811095 184264471 303089959 806901567 714454386 723541064 306876476 464248149 180187023 773800002 168146507 442992782 380537815 719306199 918710411 435773798 413275228 328374965 776910373 963085375 876990679 942641021 666420091 252828216 693025338 416001927 271042089 427807038 213809223 504401073 943862333 658273576 789047358 897262563 202890884 739832173 127112555 927017145 542906755 686155850 532669278 234018713 686912876 568688644 702835251 612183735 392116529 393961410 483104268 995928515 408426105 419752014 308168980 226919244 813866086 500556129 226885952 738321407 754015687 916959788 726000709 737125567 821976451 882191443 344010568 843569016 129459250 138727362 944200008 699650649 487350122 556195148 881232891 869260873 750686088 223903705 117778654 150944050 875257688 618127155 523990691 889539560 673800862 126074851 620673053 318324922 867684683 273463789 112587738 924279517 186206061 429400932 388306350 255730097 889040128 848286423 478285745 287631552 468301933 886264345 657355240 599439585 236791444 684692378 970225745 523905735 882567916 650711536 453479178 621408825 739510689 729187034 949877496 152245352 190418956 500008762 600020138 993180797 464698994 563812022 640238077 216082171 599462384 750268921 170978672 771612294 743342816 233645119 546390564 668319201 776671877 914932682 969016990 618606358 869401100 298860620 689798434 656479080 737791926 637718072 757653258 444152471 594248306 205075913 291398555 275494259 543007756 351432149 249953710 856804328 815969366 498371177 506764688 346097209 103435131 150965374 336544187 220181117 698047510 637665150 334930198 848448488 314137768 539173231 711001501 869175950 287871034 828788420 932659335 367014906 832886243 638549528 141652590 529679703 565248831 844150284 794691858 205096617 647520266 173338154 697963643 738088393 775858366 811829057 529317841 722692536 564424488 720547720 416923793 113042733 772227681 583526175 634330948 454424032 267348185 691222296 156342749 161296106 769636264 696712244 124992800 640770705 607185789 994744296 671619755 448449358 941304522 555852939 711923717 446824228 785422735 545566488 153708150 659043397 843489887 170551406 187918156 450928352 845698855 228994985 608880170 583726683 349061198 655813133 813203427 194842248 997600754 448666747 253793568 175995588 832696290 373912018 578154101 689961045 102017359 612776629 687758903 415521987 203883450 581000061 197347488 409114703 645822384 144268735 697534471 473092967 437573070 447092907 847821173 207603645 904994184 901239787 357373442 615057609 685895035 747730547 579661375 957869427 832755014 802862108 381928384 960603331 274945446 600628724 817686246 629669945 649753096 511762686 831868038 882715356 134479861 150348285 716855563 408698388 570269320 752252290 116015459 695933782 817266013 841302639 868039243 930926447 114252763 670019301 589790346 473990284 794570876 535157276 717601880 494167579 111625610 398831287 159583873 992921183 725721923 412314791 324123787 609070157 231617534 684560356 598008518 602672310 536588283 755657762 518425638 555565227 439452411 894712276 953240457 242628710 299262213 233878515 194989754 641680417 509827327 956841327 813572291 115397186 243281136 968850421 247297952 661190911 726294299 364524064 157699176 188709325 805995181 903366178 720922253 931150015 704392354 904011084 266272600 862103676 189173984 997368085 699033357 407438875 110213976 119451275 376997024 520859995 585965178 625325389 676121797 798392385 471132436 882572736 526483542 888985469 281507341 281450853 589596806 370810658 461919318 508552790 285418727 508498372 287325361 292908196 112983747 319610562 616337739 767417039 160010176 687741808 367444538 373137155 662754976 458950551 511208011 243779745 515689923 863017112 267127338 573208808 148082774 363067074 373603108 652712001 986321226 648843474 471722996 410609604 697042417 775874072 275379429 561795479 924341508 866177853 588105396 745888238 871831877 471920018 968776687 409717006 989312335 944282472 304107494 124691391 930219863 570600198 364367855 687440514 921069534 649241946 907314097 572200504 786399762 990103702 440980102 625338307 222663407 124779341 277102156 686688280 675434451 230272354 217706967 244109536 905661519 434705241 756481397 783052916 700503448 713014129 889798473 102220289 959390911 387633618 959365970 830671071 182063927 550519950 771324729 501756039 185369396 910522952 152548022 525834885 520810514 538150810 373032939 510656472 590001070 226009091 339763860 788459390 451005508 573121968 371267652 513345243 768577001 846907223 537601070 892701604 377259163 792541944 557814857 472017866 395832571 502015872 751154343 239208125 633081103 136938354 369278640 823786818 763324070 620296894 687980909 790123004 859332385 364781807 833523044 112679446 827535090 991538672 732004551 128052246 960958070 244641252 578329414 190173794 644364981 702391275 840610258 926768005 486726262 552938064 493914487 404169606 890961845 609019993 357707773 983081032 414835382 111342646 719417764 125681527 403301731 810308079 454575951 686396444 834238477 412460025 610123864 281854845 434717243 379579639 541576069 457806102 965209893 763020834 944592637 569117305 234849260 762865333 951644625 590065182 777604275 919258027 878008709 660766029 643090260 458964095 311743221 858512196 950161692 348369037 587226666 515332380 667321187 437073982 856380663 722412768 720268133 489219195 658569536 969091050 106332525 917482315 743398314 175795777 348997223 832513021 799479760 708874122 543492856 992421601 941913588 608449062 477883812 814545781 455557860 465639714 180370862 490727087 179345316 510952318 123811159 349544717 226976037 546189825 511031659 667099334 769898151 221123256 798455728 633295117 543170406 377280675 501383438 418315858 873247290 593903031 330690543 995864900 762535205 344928222 442974844 277670362 451221991 727779479 376989627 447014044 722318275 962585660 401150418 163816449 126328806 726121897 415864592 287696542 707397355 263284333 166222639 211942938 864501928 887521630 279822751 607002898 411983665 589714241 495271280 973440780 949490078 788708619 616725732 632369747 824572044 367431424 287255026 378438605 935212638 564231042 485190719 943541767 577565514 340406419 561491904 167802535 804435334 975561352 694786763 326420633 530675343 468428342 551726165 751415238 840478925 536586055 706713767 581948351 554804688 144112153 432756583 259749830 181176121 643951235 721862907 287414771 267951818 676873594 981528469 138664144 596936851 757510904 222677464 643511214 544519220 784098904 788362316 311370154 800596900 158071675 280409409 591555968 687215824 604642968 743106740 532590444 470024023 355920891 167625627 343320054 742282979 311814351 629364427 234995022 825926378 618895379 998881983 730997092 509048937 720456009 455508390 708754724 770949998 413858728 261972233 298933201 207265663 280971244 646575429 502659693 270527368 119275292 688837130 611987371 876916370 278343763 931711995 612031872 832151718 711190175 274106122 828182347 801666656 882603949 513553219 434137390 203029876 568281771 308863826 615189538 675791643 875302786 623664684 626258454 240886984 581296655 596426793 431852656 137417864 760561611 388832592 531384630 610394956 917870851 611731063 793873630 586819497 890641207 789679299 726087716 396706836 948294799 821326471 717046952 228476672 131553262 259042505 950401600 508272056 435132541 282284629 808596155 850575305 644921977 451195911 142906223 434825751 512410700 826070571 338780328 312010374 981350482 768785585 457658676 581074544 418827974 180619390 566455749 739547726 709925597 906477904 473450114 541899886 585609233 674695978 861274829 296000356 539525311 834392130 164100158 384015140 624204701 783061794 486015103 477650239 895498605 187103419 601352494 219600591 374901741 782293581 946097505 990558541 762193432 752295643 615069860 821007067 717002711 344601623 789235843 163923207 400413034 366735490 674936615 593650136 482509136 662155311 332008435 623051659 182428875 592690698 556261958 830994616 189690563 565818151 313670141 798247774 208164443 902245285 700622651 639181829 793787189 698147668 537794528 559319388 144596091 254179962 260725892 276210759 623398209 349407828 150490161 471742301 147534574 745692916 641776842 941219601 854017101 161993714 587109028 929684296 452922544 970358761 498397373 376775590 280852651 413938582 195059053 781651715 457553572 843366987 189531312 331497653 579427783 280047318 272470572 787017494 783059541 505279412 795427226 697216693 702675736 992594398 526399082 769859436 269006393 951352907 507852731 180108937 996690909 811442968 282482273 604924555 185347635 614820747 838486088 857702417 453685100 152642926 603480353 518815553 400126845 628892824 342544501 777605451 548772708 414026101 143269270 498199055 748442665 578690724 111334742 544742210 813295254 839456257 817920453 388114496 474245356 443995283 299088260 467127370 694406420 292915211 651081813 689227381 467716222 580176806 796600627 450601565 714270372 734714662 890275070 301904289 328290136 148323038 110658087 808897117 796402570 310649921 292123966 790552826 570635486 170829272 863295619 905931564 219890324 604965563 166526560 681323833 739483980 655817137 937494291 344737144 839562522 800334381 480862654 700744952 793386992 937498419 949791113 691484737 993210849 212486415 721659930 570239576 906390870 825828121 656449910 536067486 162316075 380772426 360830486 350149869 569839572 563715944 993348326 324466665 343446668 470033317 550366912 766923667 129956189 243021989 902349605 290686478 665230117 952915263 384068710 787137612 738550542 446439759 837702158 716590918 190886908 516257750 296208833 247955858 355858239 558804536 709264696 597030214 226235198 563726123 163029872 302890391 887973405 289739234 943413229 724218118 639928010 469306497 523267388 937852244 624236308 462820613 302846940 385747037 925269676 107615034 502350592 982864439 250758215 563155627 470764434 340755762 814758192 160307071 604194554 903940574 546631597 730693057 706124614 242870017 581150797 680946097 858865306 137431229 860663343 646646896 772109848 374557490 144695696 579888440 204280926 767519810 708506744 281705714 443203673 940937854 270671538 610142127 181113286 599775938 368248464 707705827 306718378 146924002 122244000 840714019 188884692 388287731 643518904 891797002 360809760 637288199 331557423 457648517 158086304 362491117 559916964 173575998 649971659 992352991 125145272 948294581 814408482 870085485 652049801 469551732 648389452 333764502 330399703 696139791 463365970 334005464 453842115 704170196 510335404 595917645 301839041 863503059 975238236 813194679 641439595 834870763 912555939 554621159 326288377 484142092 957376348 647253981 970321019 357880526 897219907 272779010 385967492 738839102 775389400 684847512 813958464 696998377 943132448 219995496 443640306 303790024 344665090 466976738 726612346 665806143 735046377 516297779 605479509 903684105 652534900 547529988 669520508 828265981 577282507 520273822 337345917 168528554 419119256 992946608 648813744 722429411 537891009 766874490 772560881 307132238 340663436 200842280 611217813 774495406 656789922 694338770 130131096 137489984 163134025 151815028 676851676 341022106 460531143 513783370 496807563 892308714 779809510 231102452 648847269 215580542 526137002 661165580 602452329 328659258 677704837 515504464 151658795 309925613 813549901 155368651 522412843 186827240 948041030 978087553 951028250 382681558 568228584 507600180 527792029 403663231 413318774 471715315 645037170 441174444 959975111 821577634 676503846 251450230 708016775 953681957 480636372 526673082 580160639 330239864 477514037 610709768 297715535 219527046 270533920 623707218 241723904 554955712 687163162 940232320 675003137 528367004 748110929 654822353 594771306 166518599 667361217 539511958 520660595 395331495 158031327 788442255 948549918 282245605 532453316 883637670 642826312 296809698 443145166 131191868 681422542 518128322 610194650 610229643 182986597 167325469 363434531 255459531 930342315 243273431 275399596 360981470 457345101 862839556 113216508 174615085 944864702 962192392 227501330 833003874 479412174 707980155 281780681 603390026 873555367 832920068 101608782 991288841 296257448 653529622 105456367 788747908 682303127 431540281 656701215 490268137 823147917 214894345 878319278 336907325 846684577 855838643 618535847 802137894 801837136 170867692 428966352 635364439 497309831 355542603 888855822 346941118 767820824 384505579 238488917 880284200 964801456 120174522 770456391 881691245 418452258 546514993 220835240 928433106 462371615 547189448 120854542 907905582 642596463 885265842 144478181 182220789 298447635 195201438 452765765 809509963 817211805 586233097 692994842 942847625 550476460 551105890 582920059 881586510 145334090 655784547 301954819 836672332 872422371 768506972 542737588 772063310 194676811 257937311 562645797 676484844 552870938 416549478 390280055 204461022 972650563 388934544 999309560 969931463 746131771 123951060 514411334 426071004 117961640 197785245 916299097 700102430 496850449 734027347 527169277 334787139 248378355 667973116 101925466 968596261 843247785 436300282 209646300 726310934 350683475 553728659 739839661 483099379 731939887 325162776 513084763 340564497 579565770 864260749 668420187 190819787 625195336 759121358 622226282 240445446 502621860 104765895 410195766 445870719 423024004 681083244 249869227 132026680 595351660 291650768 624117480 965291709 707840873 106060820 535825003 719799614 836238056 639439885 927767498 910937814 989431753 571883129 949495638 501435364 484361212 182070960 618014648 545655400 647549448 908312356 697181371 666093003 766807673 772402659 695839237 325114078 682341700 438384421 795734117 253975055 418457000 709783551 359936655 974017970 112678300 618247135 291156953 315646423 616487047 395017260 645684403 394890256 604660663 440528112 743154471 464528522 913343976 200710423 993486653 174156404 744669292 199674078 862620651 242122754 188907386 587305549 286971435 308806382 625059549 333502093 968589898 639099000 598863970 304359698 195608073 715583242 869204760 812284568 612324958 981021794 853483911 308528974 981802393 947680782 767405742 214799574 633220825 882780534 516732891 807873424 159786742 382898488 306695449 462219425 454330733 536160978 969108986 920748291 736669849 985029169 750510792 936970049 210666102 145238137 681542563 463757377 181677161 981371416 634061850 698000579 458664081 128185090 589491765 818252699 751768020 853657988 299095093 592952234 679923614 404107466 632002861 191202848 121462161 270820877 777496314 350049052 599740488 806760290 497617430 131360095 344435150 937676808 521341117 258863433 688275323 275100897 347654639 445319835 290740995 548418512 790716553 159032716 644627219 547087082 363012393 995348755 881075511 957400468 477318147 827949762 122784154 567470950 847076782 171158131 735483338 491261339 190216608 443144487 191236827 993447542 177380547 245084481 375874312 130518315 266450428 287792439 697094315 174693563 833594705 743187702 919523299 600123117 470023844 946772461 524731005 337820004 487782452 390531496 607735695 221075854 567047621 344788411 774768945 121649779 541959648 284434745 330458026 279363508 172854103 282860984 670746509 271445232 465618259 321062708 841493341 358083957 409599954 763143262 442783334 428547884 518130101 148595952 939195352 195956385 832958229 474810841 865556815 769630745 204480336 187272462 892230371 194395350 692823935 396953774 103774892 540234255 784881251 312525674 618731565 836997235 117934040 230081282 178614616 407593504 105034502 171128026 995800660 835486004 596315008 246546235 369529424 970593219 321283523 215328523 856839916 354565823 818717587 140046673 614395984 549802436 911252035 564395609 202705423 257700377 672731687 125630104 503519912 686517885 204952246 968693717 154005942 709766762 364402199 726697735 106088744 109589959 189783764 721759469 440913989 305490854 584984937 288734684 283305107 579733550 694604557 145627704 604454428 832447650 828280430 257842740 928988300 573705285 266992263 386887101 375701168 589162587 692862258 908746684 981263422 410738573 608787099 606330062 443744836 110336013 629315842 549082757 486737345 972671963 849010949 845642373 672205297 843886810 676420911 541346785 857149490 730631900 205680300 251342291 639950360 482990099 783301397 851313760 125310146 430907981 436242212 245982034 383969152 188842736 647148724 311701111 326319253 342412060 816029826 752046696 726995575 269824339 721933890 192456301 629628803 710626974 982172754 448059479 441573941 520812926 378966604 156258859 870727635 687807444 681111676 327870194 507162710 122702680 655411783 418679667 829722023 659158166 704016002 610438788 457567571 813416266 189319939 327864786 143142590 200393046 471293634 642374498 325952773 525453946 415320129 578613046 581279762 140835174 250364771 304210395 545730978 653798852 597444912 740502917 186518480 662555700 310051822 354088358 418520408 667850454 136006179 602772148 675980710 239979529 330835903 274412964 131574667 207919900 620407520 764185755 531110850 625919192 730839478 841308631 616369910 154569321 224378708 586033133 145215972 577673149 911615436 259974588 349936871 381060457 627262324 482288019 456800279 354717703 972810508 823556535 731832809 897928776 439930565 480098147 541562431 215422470 915230851 408282863 710998624 772674330 182962433 764218380 401686770 773267638 409018419 883241903 764850557 171147532 208102486 908385335 342817552 856338278 335475298 346345498 623957858 994436266 379033500 220666546 907248909 319737677 565725918 692595580 454992289 751587012 234181549 474160882 147330039 233683508 614645778 111628180 389020944 657424172 991201344 765530789 707046484 480405652 135103335 800924973 207324522 507489704 563432883 366785156 383655815 560755153 279021545 394565422 520060390 442951396 213773033 950599000 827999459 998742767 199922220 173507755 190186808 290929001 177272318 425118750 957801498 868987291 553683396 240371837 578157288 661211413 797681976 244345281 290193369 102663339 617583926 467673482 431328688 633239839 788449127 154779258 918928139 847749370 678561920 528051107 416377889 306741902 708230588 686484496 693299227 717797817 666093618 973692674 615018355 290026389 102565443 952707193 281642788 533080107 720953050 502021206 252561326 790460693 662608057 636891084 869394815 218308472 493588024 474552281 740587585 802573571 758752289 749777843 147472641 693183415 946972629 625200698 823898885 581690434 429618105 165224719 578558576 466832294 982109102 731130116 961540200 539929645 511518721 741444622 837810493 205526722 349870766 832033953 933442304 287945928 276313376 443056860 440247175 953633681 607171662 155106749 573626255 621265877 578211428 591411300 497121118 523164019 559167000 428418310 110905494 320399805 116392458 781836350 805140039 257009370 919813026 771348624 475719978 774788038 379526497 157811017 348634321 332860274 244501799 663446831 685248792 856749698 939457865 165119782 531396183 607935886 211068322 503257583 160286260 437694308 264309982 556109610 981112861 184139035 630505116 221193372 172731744 754812137 728268014 870105997 920655696 355084709 904159507 606853630 685585810 234221307 959957162 114497291 506785409 388349127 592934617 997105751 142173649 666721357 878101261 582681683 932591171 328625807 218191444 345327345 132928154 774228854 161285261 763000230 155387108 414017053 797955993 227087220 767792000 914297074 405621262 545890356 846034460 669868731 537357976 856489407 724257854 638663658 476098905 437184736 907517449 801692426 198981881 562332219 900031299 961060099 497909924 168612276 765952504 222589166 859990654 669580064 789182759 182180483 353769738 515536717 717636237 813888301 184512151 464725378 527351043 222658490 566798613 293629577 899633941 845874834 720416600 887883381 884575695 521090282 503863819 860614661 827978601 316131921 519515420 357683388 810288237 690214803 281477353 664711538 836434831 330569957 237604864 921455101 850072025 647678061 676422357 451964761 683625967 585772029 844396606 991352295 742228987 857032760 430712672 609996822 650542997 924169231 814517650 786830397 850992761 519460333 323399922 738384028 463759099 152650250 871031092 101203683 581180009 710779369 142458932 548805736 424051068 285826883 571256166 316107259 850578887 987227969 846974419 731142126 795488246 991140641 434788335 907801314 971468297 582402613 766056511 828395111 763550667 651566182 562211520 459403301 510012395 264628973 902620987 102960402 952394472 684459083 673540998 955260998 924446493 263583869 619860598 725956835 470390348 907444907 401425231 542880355 342058923 774170741 605707754 450053904 205451851 918137104 290876123 548590976 181743467 389162018 320933509 658399896 959859111 792253814 246037575 609124432 282908000 643697154 690604763 524701607 888956587 473755665 776542949 662049587 986717179 282206415 464271194 599765508 631306561 147024901 859955432 474815457 121492487 839300828 851953919 149037065 593474458 939749674 365808385 941151717 351721570 197838051 171245894 119118765 314003648 609824959 355461450 846010274 314027421 939874775 779467443 217990775 492196231 121773656 441272978 556836334 225716471 974993951 320561194 151236928 286321651 165694526 546790938 429686815 631995012 815497847 931244427 828846821 119851770 715854001 138697776 147451809 459243488 681907047 576313855 934819544 468024142 319613535 351731156 101349586 360496906 112131144 821822360 865376450 337609959 406642738 376335973 642245407 736167378 600623340 164514205 386023308 408313654 488585100 876643524 394957631 539364365 767816358 104483379 262914725 700686558 168065375 209204586 283311799 234432151 115954116 392761353 167186920 378784173 229637988 970015909 337950621 511547465 492795620 242954108 848521777 714243494 399413047 507991406 450252216 457817069 684624904 474634545 675306213 157472456 557405161 220152300 542795371 126355897 337767717 135724435 363639067 489590980 303912517 865629071 284467753 194922676 979040075 154949381 173720744 487574286 107309568 457197336 366820610 640989022 857115218 916114218 834737953 820528762 917362315 690171526 384370469 435843300 356161729 977741100 975874701 925375401 467818369 279544219 159611351 890563180 975311215 388884669 465549781 811968729 864148592 192314785 777038513 675807905 709517681 459014920 443822805 903862682 514517338 615095700 205461874 390105252 641013521 962252168 663365287 185132092 562528816 418581576 316148848 701715580 623088974 785473878 460215992 990582738 410848583 459263827 631606035 962753532 547458071 249746927 753992194 386352284 798077814 750084527 723807499 359386935 277753419 214211010 638266846 364007317 916975795 185080006 133709919 228291790 345949312 804354501 963705449 309987004 107969275 308144044 461007638 557285232 220001160 715450562 298986962 689456162 816016703 472278909 958484259 607026955 673017091 295409801 542909832 265995959 662817572 596463597 929192699 649678819 590167764 893296144 919426912 500357367 323239532 850683157 659063099 716546473 927582288 526564770 330134558 615956539 545154683 931536192 845364878 454820839 305700499 120085323 885246375 140355456 575746258 202923018 740103594 657004299 309865269 724875502 718975689 209060342 938537296 668493429 818102409 383941609 610804147 646168196 329905966 799516433 296705883 290391793 585241155 140189478 653336471 998953143 644341907 397932313 562540457 162508410 167302801 272235445 293114205 723946570 944467603 847407794 900467031 372966883 137484802 871418054 716059547 234735095 443058678 728369397 207939147 371833386 614915946 211869363 938204829 634052626 240240052 509050646 728755472 645005050 923634989 860386798 123263024 384407898 418245946 527857506 954180494 756684273 434223969 767132734 500598089 466570821 789792840 603370989 405790834 693093472 781968717 544688078 411118147 485711576 721097838 980523184 160705241 813274731 464978751 954029595 729734380 175710342 939870517 626397022 303082800 945188799 485548837 630946524 108575893 744377264 279801490 919442434 157209941 957649073 314278020 614427582 101580435 360400181 792510388 401190030 131659937 753506199 721854805 948616823 201077642 585378664 972994846 797524978 681042900 544897442 946157033 859305414 658674120 596275140 179466056 702817047 313404941 753321457 433185487 938951179 778373056 772825817 350418432 714986341 718196719 823116318 666607410 496446928 538358454 866447492 796598302 514351807 450379912 477682180 218039313 763068462 132463395 659387179 263575954 659171846 968854017 534845008 288753477 327278302 586217663 175839247 548698185 133507591 156508479 617736302 727697139 707281598 920696354 709863037 383473714 302797749 474438775 553901622 460200220 116113008 163533465 229824776 148491118 779348458 621822745 595504632 137472736 740926305 519624816 749631369 839287403 285523157 390427332 548810544 662302618 574255769 164685457 451793830 449962086 325876644 749509314 845966091 790585430 786025243 725061430 524824238 387096483 331457988 873020376 424296174 599928924 776629418 616998998 320905671 345749393 371825116 843722203 846339640 829869683 476001732 241721982 339732015 540605908 741111433 583307116 934707160 320999490 305631807 369984894 229009599 102141340 841605327 343479323 254778386 926616200 384370612 227578038 678746306 940548380 676188214 486235261 303352907 826375422 305079157 885228624 631695259 992815699 570813780 247587514 119495127 360324949 335040844 693744553 840859149 765422150 682044421 279543707 563443504 889015099 178783205 341256367 841089917 922814820 352857361 773280107 267381166 252268738 729541101 542704003 186968395 927899828 362729473 976763034 477849569 806191950 959651922 560788237 276281943 331831521 902262498 428418997 446505973 293711121 565545665 359437904 601291305 766003730 481172504 393840047 304354447 974104802 693282645 956771030 392748513 354906756 854970561 153713836 372797336 589180530 956050071 481201132 825699492 914498062 659322157 411889756 112733492 365675185 287744876 824132417 815125343 359234651 321166502 784813058 102434381 129672327 671595267 489863268 779795137 438268436 777468965 556463379 477145112 933519178 691401658 649516375 460974856 586500282 916807861 965034853 193600311 432508777 973874395 440424947 878794746 947648019 857946703 420996607 283047023 605564458 230435430 145756055 917147847 189526854 607802173 424340001 920663511 265688448 618912460 942197982 120781435 595961345 541907959 970846124 147901274 750482094 418853704 912940844 930799772 821301979 794551874 403734082 270102681 904839701 848469834 123483157 299754887 479621925 832177166 684544879 467223562 430309383 884511654 663307407 350273459 407172278 126174522 672904390 976722039 962292559 187100766 824169723 965191900 421146311 533080047 804988724 944978717 146920469 881105819 275075178 304248038 668187107 731002603 608384357 486627561 133512421 933266735 123666958 338299670 211356378 756028560 667127320 453123217 788857344 961578610 610105829 626519864 795064103 348967514 980948585 762367230 961190156 659962382 346851823 145436584 960415267 751802185 858721675 694549061 662696868 628558995 250020302 890360738 763615260 858480855 472818190 438221439 194013948 923319298 177735393 433012431 857724456 809482488 992180730 720060873 661281768 807826255 503145966 642460087 535270137 853598193 158425535 279923808 817902664 559084213 641556279 691320024 715014635 144405328 151278215 647380263 517940111 400039901 341915525 186606618 608847651 624015729 513437324 855024182 249696413 419576921 401499471 299930054 242008772 631083550 285828958 589786818 247241670 642600673 585134226 812347791 902996740 126587270 413953090 717470094 242772016 434604733 558749164 239627916 362567577 293399105 557911218 769714812 954294392 117697283 411497113 123161178 546619505 423369498 137822360 444167730 517680580 817834492 196609588 936832338 632457237 796300578 292682890 438406294 676670413 173920362 745443737 436120162 285563898 104979703 502130397 348658467 987860892 382876167 619069534 280763805 894872468 969606605 741657188 726335237 241441201 387477489 558034302 271482425 497254271 933159167 551200908 476916292 755868307 146637624 214057705 916837236 483674507 622450978 400378336 327157227 207098103 520746784 159872628 161516898 158516496 821802665 513091361 367567790 555006523 635329991 482774823 932281082 275302994 187151197 540729134 438868370 167949299 984681690 251761975 491344472 965083378 109580333 474281239 453073563 661796827 708139430 763619797 515952412 985997681 787772530 104500547 840319048 219269655 901757716 522013806 134329945 835244544 187021562 396236892 744332552 652075789 694690557 165081896 860006716 680913108 502886559 347198963 152927000 504780453 450988087 207652617 320286036 491659424 736075763 833796585 872199064 368514068 844345276 890976252 636938792 197548565 679363919 544013250 774526192 119472475 129754606 942302672 533734926 874116422 283020325 868716637 120083017 370473376 358343323 113399669 485599666 885726898 220984340 241264121 103824529 630265293 875325828 924461089 876552221 671138285 411168111 504776094 420523877 469045371 642668536 488733718 336036387 928112097 890923135 593724383 746408614 961520618 318987374 756977873 757841891 635786842 835419938 351604328 399382730 868461766 750341493 999784811 425527257 624975232 816047831 558662015 468169610 745138712 395203684 424370686 265641986 406147324 490746385 128253535 281702425 511919404 234372452 618812447 641822575 523516546 381579153 272173907 205588929 874694904 226856986 944505338 549687570 789227032 332242380 744253627 500223683 606406879 153637103 937332961 140132435 504751728 525633369 135074122 156745194 587799696 866692824 323858191 716101205 172768355 482832735 927925814 703946775 456180537 112469495 435911239 476500950 516561172 131367812 469777400 870240985 273283984 874060193 767112962 995982889 131426044 299412466 716282156 489480005 880973536 964973021 343541253 734582047 941812090 322211187 503764107 740490735 656757114 213427555 572514203 538398081 911706879 420890892 705353150 168515886 954571151 591480944 331228179 319704580 192844983 685691596 636134134 357463325 117098388 562231632 504690455 701575570 864704591 445434725 928047443 893744529 229249630 404605507 383065634 259885199 915492595 908064508 133746659 759305085 568528907 995485034 820831699 231722503 414231597 477997565 638864455 454571732 175970066 995866230 944657610 122473955 890818917 836784788 922165729 322767400 796574277 931318375 788913634 967617927 918417201 264059639 539729934 778220123 537428643 170093147 757870945 961136767 158662238 605380373 972792042 631728019 457956190 871106443 528802685 530418365 599348593 527330941 906576072 909946739 392405011 558841627 611265382 579546271 868063494 193785685 438331047 240051888 192938092 534582673 471270163 688914818 830849876 295638038 242600590 511014700 734042675 738609027 204145478 296765228 163897963 148116883 622403293 987005312 781468878 506287265 289515448 201066899 568718872 905566102 674505499 547021879 739574018 535346403 890862149 819649736 907576268 440141276 144436911 598074717 131911502 154090819 404479076 875529085 108152055 116590571 279371874 475781609 724257401 880019097 903883945 323529658 628316691 117837295 622329622 236409952 651525681 753974278 766046097 980432977 174592844 294696918 975021992 645691221 332851580 319789781 715304337 548422325 722731758 499749813 958252143 145126365 355044530 922634295 374838665 539615191 522158127 926751373 204558528 710025371 917607822 243369987 182151433 153473702 672193650 658363121 583657923 263421535 321228800 921393297 108443709 554695794 461109637 963721245 597615307 718594871 296788080 229547069 768843421 636328404 558186784 428214041 779821002 306081613 717711305 860175183 609635272 153456190 340226204 714777053 705177967 678583470 392838877 300513033 604671313 956675722 665143481 181062574 763986990 225692616 232382147 228289615 798785939 153203858 597352025 295030954 763516156 688094256 873428205 299122478 593164379 404216835 945616383 521523634 655885921 719285615 797573513 570154883 260267152 630959877 700174279 373031594 802198451 599965316 876516666 833794641 782499589 692213495 828437873 751208778 759531126 429304253 852810807 493283515 931732642 633940950 231465670 245878566 678858301 171286505 419990104 170956143 456843817 548090583 475149124 466597860 799894471 958288958 308499991 856534926 685215960 110787234 841698403 413771319 692572866 628320060 203939418 943625625 933934951 479991879 251946980 278098020 699976299 538519590 933658952 661088728 212286251 975701706 193068909 359641726 279452159 863636452 467582960 420232091 250771906 129625469 602255840 630662912 435565020 222613636 915265459 914346743 867296507 458428321 956494689 847975100 789091842 432480323 950076655 891980267 924870983 545979916 869292666 110370315 613840819 307023210 202617487 635364886 377432802 411606482 715973183 401677397 502176375 168459672 399481535 208455450 527342192 138269078 638212706 284630171 294762016 157110422 906283215 206021919 658223307 690041277 895617014 839512808 678618720 387646037 932742675 727818297 708197690 418098965 424013929 391624936 973408674 879089197 940150243 939685040 477601618 918998750 442172215 948554146 995625530 366658921 429625181 543561437 246649509 445228504 222864076 981205571 841657049 158271858 775452591 352668198 617615192 357052396 600670749 957609417 556183728 606002438 309786655 237518018 883558312 127645334 180021182 799133989 203805186 432886763 406847504 314333427 296404980 866478687 333294468 306053687 973649070 823321812 497614531 585022208 687761735 892312192 491025093 117426458 466020310 833125066 636355886 396127330 830020624 559203487 623514070 127183303 130514179 639949226 707878581 471500840 528963625 765266141 597378199 252584175 153919628 122735702 837504854 240420013 412316380 521653214 821887547 872790740 710174655 400473446 172301985 674485833 527868469 711514447 762343494 384154093 398796136 659801467 308312793 571223312 198555874 531806971 801642996 388621254 372401051 303102036 555754022 167123186 448205145 412228794 813762690 940724107 129541351 108040128 687404983 256881144 661426371 643912868 444204051 998548299 585336701 963746152 461958601 938228121 974132518 887391683 668920449 717243054 161203166 626648156 642643607 135246300 785990820 201055756 785303094 389204158 687754736 209576283 428447592 509426917 809780332 755686300 920220829 103041158 511577621 325013939 712124121 853948955 656104636 756503973 488731460 569230882 627971781 439977593 828755713 835544736 453630222 744926152 195948351 884739862 964108684 515682978 366084297 549540031 695567179 395715655 505464130 845259694 650047767 716222531 774778786 324938049 533841223 768417091 456201421 548244720 897254330 179559875 675032087 349441454 715558740 395114205 848005755 832625865 614075113 529362117 128302347 371717346 444853543 170814800 856626885 698893787 696564719 287826001 293431489 593061883 139625537 399303903 235434494 335866221 934211970 860053605 709634332 878095037 418399202 391893230 182179083 138598087 715301964 627957337 805765322 694675033 874081377 195491791 396611321 958919424 134908395 972388045 999789034 499487337 644388203 773791772 285882414 340485796 326008118 129923070 141587007 354484609 553751192 650191632 803825462 906092862 111851376 255490361 139874639 530921594 971917409 130392138 992164223 556173258 706691752 162707875 340677707 538311454 303068227 326484041 545272766 454491087 966739936 279365331 300043611 192109686 732918498 656693237 966858326 310851117 400791709 101195520 954546470 445307508 959964196 895683751 302662551 794829277 192172936 687597487 324518537 953826867 368985526 716588983 142511733 576291681 852165247 440518247 113510702 578013622 584341023 231913283 528194000 354150463 384695766 314838673 250658853 976225497 689954339 904321128 571131354 264694210 308022353 284570198 375181309 929564795 283996553 208045266 182873976 375632404 279969611 856247659 649774251 860840947 441924289 229352050 216758919 132576495 746834695 210408422 678368356 641768392 579460634 967168205 531160787 817932300 494516290 634902394 346535333 995576680 131541168 604731990 230945195 424504690 938584958 231926616 879189714 652483797 196350580 326138073 679500983 573288256 192490620 630952410 273399784 296354568 977448171 442236158 881598580 404765176 209061682 974645406 746507544 640268569 681816229 351073147 301388348 986103403 482838914 725393950 657166287 531158048 380795687 942859658 636787481 916503651 389171841 372787628 414304722 939171344 678046454 982338403 845169775 247674837 649621632 940015898 950509875 774661097 372215209 268819255 376431584 688445077 758987148 570731143 531444661 461055645 745505142 211441797 548082682 777859059 254436300 598597749 737558159 859450403 688993120 699395076 257295447 765278145 123000273 242567089 578813302 287970943 194631342 588364931 788820591 712701636 241907822 866829993 767045228 220576117 102047955 141840980 105117308 699488726 125032347 411379785 736898684 760060414 315013006 498586168 331708438 794101501 526967648 227132188 940406609 756648770 731239057 220348500 492264769 187464996 117961942 783850144 337879093 217996361 149107018 594293845 962360723 424002683 557963877 488252067 786536041 594984368 870072909 557713533 865760440 586805563 897991553 312625696 300695295 159575850 209525479 181224814 323562340 681910951 283763965 860058062 644393378 610874873 266715316 161295760 823954042 109270629 457608801 849826744 501335258 693133942 463726216 605885243 948141290 832378780 738501992 834468567 539379918 757967849 222061568 171584084 283925642 749220329 496921947 546243815 582360546 723973365 828547897 406910206 420930835 130013181 154306951 920710918 382662978 317443027 927040892 644874188 550689006 525275312 824247521 919943827 141110285 531171245 682144266 272215068 854949438 822266529 204567601 468837028 703731291 920342017 372859644 187588922 721567298 727268245 334027977 428699063 169041507 373876882 365687012 862259093 655510696 225562823 865013416 906885619 733136082 506896964 115576922 217471979 353714056 683755895 658526520 652939686 304321863 957690850 633362807 844088904 112895508 194273748 592162773 199700754 583888194 645466181 728340204 119789965 442341779 149543423 432879185 260746775 132454785 952639395 583248683 670609689 633003994 927002919 431680938 860051831 364462016 920593784 453624611 647434689 608664776 435075230 898273692 279610802 543522619 616302059 911372906 885734379 975164184 866418702 646732880 621449059 493936199 941966581 150991492 756816469 548078419 488062527 731278038 527650076 767381108 616079739 943495412 284825974 876041422 588750619 561524589 877505367 210785139 563931763 573494930 759246074 296610756 548725687 294645788 265185396 939033683 935731469 172149024 497537113 957469792 246949479 768304302 425605714 433380673 984851889 687252184 901567643 677042551 272792906 941363445 214343006 601318610 288068004 787074185 976369360 157165164 572838507 514600615 650561691 485123401 223720493 370465477 669341230 831075152 261369175 761103623 886166402 730016149 856776814 985274592 876957149 681693147 121687668 570293243 362369424 794851191 127264058 564121179 738509382 166018914 562563279 202079442 735117917 556661069 313131982 649203324 546377089 483216453 989424653 701536682 773253952 136758393 703655544 333933161 583057624 783349902 434968053 893768436 344656134 927465464 118325815 240275156 516450742 731637538 293098676 905238834 482347420 867651855 193675771 632416715 249316400 667502977 830121852 719874115 410805114 682760215 926314988 431865055 574400181 229144162 776336324 374425582 499177419 678132650 373464239 611337821 363820459 910341010 513311175 854899826 860701651 654245230 109501007 699069678 960933486 919074591 146301999 921333758 394642621 947743899 529624759 144358383 554279195 332740892 954380390 932059413 632962984 594896642 146116030 365358795 988771266 624293721 153475614 468369955 212858207 372086554 727587647 821839108 573109896 447686659 944566440 694077844 581559274 531294035 384394932 844843546 386674329 308577774 218786695 550927540 434100163 466908441 524381262 347225394 717055031 426642633 102717819 216864935 216997162 684631897 295123614 913821326 925856836 345881978 239592964 710228634 270773365 284744896 250627036 996279122 907449313 569799598 264073451 381980577 974488851 892845121 871198779 105129342 932015765 594359913 529568675 860445074 422947376 332199109 183889685 900474027 878664511 451433023 860830947 309125687 693515051 421172748 996087264 397244644 521282151 594494470 433058886 965920315 691747360 963037772 285365047 366798809 305421755 365132614 822377662 173129959 525880793 366874255 364805896 490165553 264677906 456128676 669485898 565256010 494979497 805880774 889967060 608554499 636352790 132571171 130585077 527811666 625767133 386537410 734714348 360941451 660320633 198351929 704200178 987951668 694042522 628297700 810178933 697461424 792068593 112898434 238553019 438466799 671656985 665083809 648760368 846622473 941095536 859984556 190820230 189309304 510702714 354121863 220817265 426760443 743460244 729581569 521082964 799026523 660290929 355963260 654638541 413863683 529583329 394289156 410197546 582502443 241187391 946846451 529947071 592519855 447124198 531969097 789454339 525342076 853381639 613372941 756838545 573452395 944728490 523139223 683974412 887734966 250497899 717316572 133913144 715379164 110692716 597913051 535624282 721520627 845178040 423456533 491599785 865117232 726697750 511441803 346711255 545685609 101952511 969235949 484484190 862296480 130010000 721541166 850696334 651409688 169618758 942924736 660494890 886506665 346501769 994710106 785744851 625084908 144512377 311858779 882680571 279667014 851834948 486251157 473288890 885482745 187652168 216603273 870591455 334739252 258117435 514995431 200008559 431458179 455468210 903212775 936316532 883401600 385675809 593412453 521484360 571928645 211463268 176961404 134749989 125046684 391586285 628924763 177331981 438645264 247971017 674474992 738439671 417764382 315943301 289836195 278666494 213238958 294046383 331458215 600604369 505338440 925915437 565157642 374905710 887432461 391534124 247200136 270254212 154897278 370419592 932373801 264490375 902749010 469330336 513667366 851772175 831109688 369931812 268669987 289858547 415474682 596680438 212845448 694745288 365354376 560600431 290791799 987631213 682628164 884364965 361350796 519822854 700719860 419834947 810408499 550825033 541437814 490124549 418971563 400848334 285258706 571624371 558332653 878732575 726772687 389819892 897397429 762689382 827724855 808053014 614766535 354707893 258471152 927285077 184439786 154825476 330757880 978349060 869180467 724366480 955734210 893102058 264248480 275996865 585574119 296672385 729096341 810086333 403582842 252719933 273685343 361969983 765637021 279698100 412694109 725079464 709528974 648003219 687704298 114477582 957568526 335732247 229721117 921862180 912634323 931192002 487848712 290178693 486887467 505148171 483665842 639729214 232152874 396623451 962569075 487185064 185566427 221552049 484704725 537356988 503593132 745757549 901159421 260387446 735864109 617149745 100703062 599578384 838209294 739965335 452578961 643317964 771273164 277356695 755050031 179218704 116760435 882237375 234209276 669476519 294375672 453418897 493836238 289346442 248908166 809301929 286106745 286825922 346736666 349686885 658862721 261561585 221589790 677706254 686922011 186579110 853785784 274474475 728978064 253854815 756270501 156571476 116997952 442638173 659093638 941927980 985937965 838731007 160349790 727419618 335881517 393898665 447686153 777861348 296199274 847542160 828436675 338817104 539647229 146497318 507118091 811744961 173760578 394490618 805224295 143719714 743235558 666830782 326863352 394661601 965329269 293676506 853245602 369496872 454961181 213175966 155516866 445798104 102179849 664310713 178694693 897888357 792146136 945063469 978183184 637216857 499686500 586160191 318361280 811383957 881571710 746976913 413498049 543381784 164219134 518730732 219484799 725120207 167769672 305447394 759375109 788876872 347575949 150505592 302002083 560801919 459372596 968527606 855381084 992164764 459040867 230804244 251295780 358590189 557024071 865307869 530466491 756155170 612047178 462978102 707655236 234363569 953865373 578870061 198895118 559715638 506340740 190318226 649082259 691035645 989373812 624030391 861132550 328380799 399971425 944008033 571061155 763972345 191061816 845254614 727071005 737244925 905854686 536347639 986435655 932831237 297432951 987765266 395986417 909922033 740865844 191190876 817291340 312628806 798327934 135425035 400046056 988690052 116743072 657691279 259901539 670818478 579876445 842848043 347386631 210610107 481556009 191212379 299085886 280297621 331565827 773652104 111538109 379109326 817217191 156759453 640551768 713562594 658628984 952323349 669696804 504877327 859852700 468535394 194973144 991770449 529221549 277859922 190691624 704938061 300515166 618123856 286638822 138583748 936289256 454615551 368123723 527412413 459144289 434893319 756801301 240490855 941112958 713368477 989752540 228439874 826233969 218736974 636935955 143751571 911571753 674860555 870051927 760764970 705177859 184757579 353932509 730271557 401809274 200636617 271998637 254182327 412944070 399547609 213657315 577463924 977059292 694220561 124272543 163324775 695258140 858588869 375362412 849362092 155595891 865637977 605407028 817943863 181326465 706953890 761046839 797775671 588896091 720941380 318167901 550540483 259614379 964255619 454840873 958637461 967527172 774378693 551112735 366142845 818262532 862729064 737012214 171557353 266158847 734590324 242643889 644780608 584261028 615710161 798935137 519520146 422047125 411278073 480040856 302204566 391922568 528294157 653220095 968073716 699702946 335894234 123316891 683466626 701200454 419766703 408552127 337575063 948381201 449827674 828925404 691003325 110665094 287298495 792224819 318231991 353528931 781275979 692586470 127596577 988339917 496886573 489480174 898193263 361486081 205069376 113988932 274406354 171267711 120573683 491260412 414719556 300410809 867353942 738028037 218951688 647847000 512386565 492893445 260937308 566130054 690346086 337117893 555335080 478537381 822774305 432608176 480915249 902300498 374078655 967161901 331807626 183400211 550589483 187819943 292444923 795531713 185036665 944566560 479382050 516241350 871784594 861020073 231116643 633230223 504678772 242855423 303901859 775731542 661441739 697293841 938339793 964730946 148332503 586015970 889601073 780105750 460696328 862800136 971550871 454750856 896759318 917176853 208574142 627898947 455482680 738203906 443289732 304189469 293993194 658286490 373775695 124178794 698171768 731580524 409495585 604326118 197563309 278970500 510996828 686414321 714646575 990350981 670564007 691096720 278320000 115628895 992665311 903360110 475135904 936116765 713104798 999858635 630239139 956795360 495596706 883603618 685614264 211392015 999656925 519091676 801264824 778414224 103412053 400228913 311570627 799564346 152351989 243248872 339269957 785634815 196145548 667117862 134291859 449289558 272884514 245836531 273156955 141503327 238340331 730535086 571566998 314074668 191376905 527293408 541729611 634800781 393362446 474332522 688625486 283476774 627108468 358875474 767151025 252847240 509956310 721848033 502543816 682069968 520091376 392364629 634465825 366164659 426723867 632607483 610041180 639217535 221378998 641504434 510378244 241440149 574776163 292551237 148709659 966022600 807790847 492592981 225589320 527388168 831351441 546249019 151668884 495398205 670911426 534389974 830245772 590894319 566442516 212031739 143297345 351743956 380827332 994903218 611924258 397064289 347992631 237798796 997070648 793737335 121998718 293296957 434882981 357157061 283335747 204403038 173390417 336451006 208796762 314967498 611759162 814109543 698539796 240973770 627289192 298061468 262001549 938330927 229259190 568531091 928501436 142590555 854992918 930818789 751513818 683662234 447793576 733149172 855050303 937114031 986979577 363933770 236398319 140825554 594514053 979902345 614836877 568546773 231117764 117082410 611496730 423448951 415204630 631507657 900366361 899593987 703271104 140523559 152990730 353202390 519708981 677622459 992774336 251949883 554855385 459934206 993387099 502005735 747653458 665149555 875551757 564515598 476198521 645526794 404786690 947776522 537806566 955149310 643322849 550899585 453647320 663028146 898921580 128805518 705569270 136241335 709716039 985476013 321109801 790673619 206277954 936644931 943136789 242446125 446938281 135605746 132347927 108098836 181392942 397573588 224040409 476363367 675786783 170353892 393085473 747640871 795817253 800421268 666244890 540291998 711266759 837308979 582000415 809070046 725874913 653767220 919387149 461473754 498750390 283591262 285017321 335109064 317613654 343769177 649558566 795979913 550628441 755061876 279280029 762745450 774913903 558405734 680881835 334008846 585661411 505707335 837240711 827268624 805854670 710684924 577754374 880345938 733741294 420066180 175001487 230762160 718893219 921141443 346835287 757112433 383655677 452798826 617999717 706705342 700003676 767915882 917833755 475568225 731206652 412361598 773293560 514977932 774753416 761706552 986715029 741947791 990781351 546787073 133767395 363898637 945995452 738439745 994144255 473331581 905218093 890053489 729657316 110734761 582915625 349635370 712924157 389213699 240549618 735963059 436737545 986492907 775076532 164092539 703728086 863908351 934038582 236139574 533583183 134079516 809687442 256089225 203689387 539448592 574909119 804889458 518706523 939722380 253400930 243698250 835998174 377795328 637486602 612743326 388968181 573806785 768570585 772616647 935533755 925965946 422787696 701444533 774712251 600204997 215899968 163843666 929260786 411404988 150836227 631017573 930371705 223666578 576072241 156460213 676332424 901204708 571336932 496544016 957242828 798714986 233328264 879813444 182691029 639788026 580349003 679258199 458000617 358349979 389736763 291573792 944210744 400662585 183005683 372245393 540087167 155034179 485643452 276178910 670302810 208654853 525743775 290721113 698367967 198574546 568587334 524684227 401163052 215894798 280906514 433263032 700046558 354006571 124343310 994995462 854213561 449233179 137506870 585124263 477572690 851373918 866491918 474396638 225107254 220947486 305972972 433274927 348073598 729568021 433476338 423300389 404836652 326177526 422461854 959918338 266722429 825087845 617088754 431195960 820240393 334671563 117623045 230094457 491064557 194635079 867516022 517724566 874320540 902583311 921382001 468511344 843081258 891288956 858874970 344137754 902825558 307350617 731361336 198201057 843932257 785032685 258465962 259106105 944745898 857430036 411305637 974877883 223360527 952082536 508489150 841047175 561207556 565645720 961078215 408191429 935451982 863824413 167703670 369059449 596169848 808789014 387931340 521560450 741755733 311953590 472228239 271811291 260642210 951380674 394385480 714338222 630334067 181118389 971726747 532359023 846845212 456259516 359591281 838028198 764243375 878797491 825889235 846048415 244835503 187073823 844426169 319189535 619008191 972770833 656987316 241116154 857683437 113971842 843795755 481705389 528047693 354300283 308058499 375668715 975434335 695524948 657534155 788411479 857410836 722900850 734329019 688889795 478418959 827589852 165235582 374539261 262007590 118550967 806512570 410581855 954536848 830574273 237352228 155563560 438501824 283881744 958233213 337715903 510694583 151961506 249394185 793022594 527933878 755327797 632526225 610068000 315395242 929746893 600712070 118608777 405924747 244569125 940027853 521623939 646103837 885354571 636251283 118948172 170657853 778855389 108001410 850938753 329914657 785075435 772032312 488622979 691259836 338180325 477999294 139622621 854598632 832914078 341143099 663426847 641847029 278001111 357574965 872536600 501748278 739665722 961556526 886972834 273389384 934914186 911286192 422806876 803590521 615741756 911204820 870915141 513511848 342609730 640739049 103640810 553375231 571069299 830031285 334954730 203968043 900937662 289124356 995213081 236030224 724494328 480670758 959348710 796650941 249844627 388840862 729493613 881226840 755381914 936847303 636819839 411218618 680445675 918856676 326620717 143375975 491312455 627066821 759717390 834112405 669170862 491883149 910636065 916135683 780614289 403840759 370457721 324161529 738678233 530945439 839971150 372852896 601712163 501097142 902887141 604003164 762196932 244388666 657715989 898679366 433405872 688697396 699257233 825120029 170300759 949088406 102496693 690093211 982993291 718713298 669082664 492658478 642971998 159688933 680209859 936235514 783409188 348575907 935567379 983151076 400489898 877991439 525518251 325541410 550613481 615537660 332737860 673925117 467716603 441403028 427897669 373379505 870182407 262962392 228339890 666500517 495169577 275836709 100109630 159689658 506868298 581770867 269109193 361862265 177249061 372060917 832645293 396249312 148145014 215595197 722125756 622016297 877176741 857576811 155452923 720345622 910329384 342803344 660635415 599952346 220347546 807890953 839880524 570904869 721249208 280360512 416319916 260024131 459237646 646797682 956962778 850478733 790428264 730276874 380158320 176883239 141425234 774755993 354200126 477975845 394699049 296409990 134414765 711892724 292285073 334419035 237543969 818394633 839160387 422561284 264101803 265294248 892229393 433417899 358918261 852282812 975602728 961915545 313732140 854307112 713514550 339870921 453896588 999563690 368487094 447835188 960682632 970343884 222951637 180957143 646597381 597019400 848858943 771052994 638042821 753975665 146884383 843779336 297160989 307838671 799741308 606110641 491314273 837323518 501219736 806323177 956765802 692787572 517496000 180441958 943064524 667328356 457361525 486723887 788924495 909943875 928197249 668959968 325375321 359072069 160073986 487394586 338362893 159987402 535604136 971015630 640759496 614179180 932725032 713964129 631368890 789253929 715309971 647105764 718974388 991588508 388269099 533810902 163390715 883790829 563197885 587944065 556450296 656052747 690471084 865209325 783140829 357714568 641397630 256220721 325587933 946964312 997537496 923892051 637447263 527366649 725244445 163194852 197150852 673915925 845198923 958477842 670407316 667757014 417741775 987748392 291678549 774804374 344593766 531969654 344494110 819361741 756916780 565621231 474152503 355705841 855382508 288803723 165824573 138200989 903770587 594306517 596196069 691525262 487910099 780755900 787553008 175349365 340319717 693902237 556126505 263930401 853481017 792665930 622545463 581802801 371244462 167640754 852245836 656506158 862684649 666343669 137020879 802047143 345166505 660129898 320545920 512167382 473637107 759489307 587658187 490911301 380808023 165691143 803820035 607933513 597309670 734260934 143542379 653704165 659099058 816625277 510936752 924041150 435998521 576643672 277724537 122463285 990922664 490295831 891979668 588487123 543277222 281111101 344056909 506963063 869935505 404872441 420715914 782464220 244102401 271564386 246541914 639534835 526388682 183057633 121608606 172434073 182289925 218230820 314245776 723541632 185627505 349133745 368414499 967995975 598621295 976130499 298632165 697526449 679669437 933093516 178241132 863009070 478180664 400496609 803290094 753449032 176003496 127265496 173670166 283885971 131832155 742393664 610151796 371151829 179897064 675378239 504247236 439124618 190562375 255005497 389443833 493475052 878460866 691624471 786549288 926115164 721720988 558083558 956819301 235604927 943599467 568047605 532251875 887088887 761931098 280834973 339268190 498252782 101455650 992061016 259828675 302542501 176805371 686371730 704147332 164165384 878664930 738989892 578566178 555791060 725062292 152911382 393844321 942315301 803236573 664799932 191778106 876819113 253225329 495346528 565660314 318037777 523181655 667178152 389618188 901450775 885412384 763934785 878778228 246343154 283796680 817953774 135092550 868092024 234038631 530225846 343969186 860998590 282531964 945384403 330193507 833775407 293517842 643840878 981966624 642788473 795911253 662138921 738314284 690474100 430064835 218468696 509912673 161388406 509775388 904627514 945183141 818758113 589395048 195392996 794618337 210345748 334918003 260061027 362394493 573189723 464472448 679569049 203741739 285512171 612276543 787977448 119398841 221970268 213603456 433848808 960719823 651280007 241320855 761985874 788208482 648853641 256101534 239381546 279026429 563241911 107408272 537595397 874392062 993441151 368249922 425253851 175134400 509711012 718218135 652419801 101937438 919122664 907934885 723311783 492638940 196673853 956800077 806620914 381641934 104604777 520246441 373305857 790422954 259093534 729806116 384504844 931895816 827389206 908504984 828730780 928900999 711822772 286919048 445684716 409166640 277682024 607186394 793749491 261856101 588363695 604165250 454888184 981427313 835984657 988122453 367363738 645819050 461507350 576955562 200999654 334930368 748451534 416146782 797734371 632995530 428315113 860586828 283987395 115175250 446030382 133057316 609384080 683374381 478333756 118642138 109935280 631729194 848226265 723195850 118063313 654711432 237831930 736526437 165795765 279000775 919071470 624246013 938596586 591550800 529995626 787218978 212504479 142384664 453738757 825203862 347607266 855732310 595400014 139097868 290259558 695811400 542156402 856010851 717462453 214630877 674245673 151786161 359480552 767952571 670531873 191775625 208616243 317465637 557159202 874034688 550193992 246162751 114929796 187541322 356152456 893677788 766565663 585507109 873306767 697464302 427723332 592260282 485599685 670154636 154709012 671024291 682061444 826699450 620333250 739059416 964826015 615597124 816471883 517227005 807565151 655195149 884493432 757326788 153551887 244153948 472203278 458896343 191665208 374790319 713937995 614915782 893942456 288897774 711472986 366946553 422357348 236931965 399548272 803577816 765512435 371839892 754307954 460839903 618738186 869450769 326705082 561725940 413302097 524917946 411445617 175487530 489715581 876738135 180557956 371844864 798968126 902925474 729574584 389103229 546185454 125551840 876688782 344879254 103484782 498581941 424630039 884713516 147050723 530386039 963170627 216428081 648420572 159868242 852062306 581028219 241537616 330262596 118954228 679088287 607324183 152855467 771824128 916875619 820237972 978844586 253728229 359574361 983003120 161765363 716760858 305169580 268321064 381292625 294372865 473830168 207048389 358743287 984220522 936361091 323284429 541273755 393044661 338481091 606099570 495679853 516020548 312085263 399442769 601044892 381780007 712652881 781110781 560898521 377680657 780747520 319597158 588896022 645175925 741803913 869569963 235470049 575093290 180995613 995736611 714235833 930708662 465620236 992573044 117483990 651484323 435450701 795106729 654729130 366093213 317483669 116217344 867089776 957246530 374133880 454399200 979366166 192552254 324758054 488549846 825268400 779313022 152891385 146853937 505386544 295419217 535547210 542108964 138057485 515941543 602916724 357915693 160324695 493494413 612523865 336659837 832389872 226692509 292020945 883377164 513073167 969980478 142735051 111503693 336254029 395001335 127391100 759852264 818919508 727927278 656742900 591072546 758413961 990910025 455796925 896022177 638468478 493346296 579163876 653246148 147971855 217756032 331850704 368456109 895663110 757232788 331982937 156475059 279245727 397210114 818444428 840976946 889771899 790680118 893301074 842368385 597548709 665515168 799952302 851602538 836648494 413577531 855301729 594050281 762379898 888776223 839803670 836293295 822455004 700299790 970198993 916966149 169079338 596619170 235051708 919041918 303170127 617207196 270215577 411784152 416479028 706712514 465605795 746775641 412493490 705577880 626669844 730753902 913092966 518889988 695569475 444195744 209333310 274622054 890450026 163007981 567400819 772801235 249686982 205638853 210245701 703406760 186697503 663330849 596975881 410221719 661875700 201585456 335025490 679532451 740048330 256883012 951235897 869122327 339649717 950748709 460373086 876044973 646747362 197873973 625261675 199254540 559042026 679138818 685023138 741541662 789289298 582906474 411258790 610804614 511599340 856893470 436981993 140389350 327798259 496149549 519141559 914795801 924658945 652598557 426619348 939291556 672995278 112408256 348769786 502524771 575765565 140402965 253697693 116579693 519677583 382765301 635646065 166104300 608432360 178273643 191589055 656418074 515989554 610310971 396805692 928721511 864776786 732329641 333877288 833490189 710987942 416675625 425439674 639720727 399397095 937727918 973746517 903537145 490417821 802098350 441955103 860580372 418880698 760758010 992258419 128845043 119329521 850621486 559030615 209658028 752407780 235386145 367561021 876194082 790383972 976587413 767490611 569219941 528654147 335353094 505391159 862431418 781296296 312298677 854014379 330460946 918213625 744175212 636463347 571329623 990805329 232014255 293380653 326904879 431947883 832623297 798161580 100979166 907439464 580422266 816348741 369919525 323559140 426563833 810216217 901698537 864919511 526075894 437340965 759477426 835020379 982945926 240781295 914962747 298135240 932569129 557598458 487117194 659901437 100533479 552713506 883104708 370258426 654464956 447502624 417011960 840583888 437001203 205710592 840906734 501606587 985987891 427341970 603187002 103153141 932450039 771913296 209622866 324223818 241696033 395206252 153874409 795483184 211111006 352495912 406317423 553733792 107360385 397083024 159692372 104507310 943594802 706506991 512777840 576020582 483560138 786879592 901364845 321952295 520921005 836791015 416736779 114347777 941215004 595029604 973196769 367270914 331502486 378710712 385852541 905072029 928963162 797886199 959508376 380121294 469954482 758255684 382088223 879004938 436789012 760153233 478156672 826528537 957214462 355164132 738345627 428862764 737901805 969676271 260445244 360670082 221000538 769795877 173773397 777278771 924814658 734045747 638589170 163788757 549788755 744930448 460475450 664178017 612500507 858073820 201018953 957130522 500413825 831889249 866776607 922821966 792000570 392464619 879434238 693688677 600336848 376914885 629406433 574336827 802257067 662591712 467094437 240068107 634777456 148759784 966427555 818950742 951683973 953906408 619991795 319080785 582961203 915459978 486479803 604773310 654081787 425139958 925522304 412463939 459231803 979556717 612411976 616797937 457794555 618557010 548736258 727183430 521422304 942710981 873947346 117880611 687249242 150444991 283046414 663872311 895423698 398781187 688746518 848320883 302196628 293581794 915026638 494796764 868838287 809309696 180244105 531578400 898466902 355600536 694977454 130188496 545662232 804957064 748203901 775895408 967059823 922731207 757438777 205516528 710156676 105710895 954973629 646700805 170927241 784273590 304460615 723126383 745831262 489036375 262511190 972124427 743481667 490391529 745988707 743411949 275353084 260013523 103266920 928157633 492170762 948157828 850033293 991268135 798902710 436327612 418369727 651937932 667559483 923366464 945026856 606516133 260303892 545550785 472711861 952058110 447188696 873021817 378613340 847342974 120260745 703633604 922121764 960492585 381976171 827020037 797361708 927398283 565347393 294487351 728646115 716197001 675042256 549845554 768269004 474777467 663205305 395858421 418590033 535422334 308173311 350343857 537667272 960394752 176847366 364441549 497932589 932875999 486377107 348361333 116479713 897316153 469579930 264670199 257650577 348500211 585430309 768214660 503032087 832134868 424055682 286150093 773207765 668814226 408749090 961600147 735828292 115974332 108571477 803905899 459027212 799691032 717372087 556593577 178201575 728197146 815957222 424827663 773995195 614617191 376671416 152073094 981507039 808208044 223607210 614776110 418334084 414127350 645974308 994981116 492667567 256462311 195604300 611373098 514761378 231952562 886531367 979285400 307938007 368077531 381867710 429379424 774037996 958176166 111591682 605933110 840035483 328117323 285197627 108254434 263236472 425728015 813399508 782316439 435524365 347060262 939136034 136241376 369243937 134440459 716495400 950620793 846456758 299504434 762401910 393262021 157179575 500461069 166746567 436493541 589881549 790086741 400777492 748588524 326656267 815184018 390285429 766063090 983121201 623662457 574154843 405831097 613337657 474252366 743182298 482912383 551199486 700071870 402612069 138242989 185439769 139216140 621277365 175751930 275514087 135021426 858475996 692232131 246450752 980476322 446568447 511067163 274632149 845413230 554617292 739067142 253983435 595221084 333506556 585514336 485699457 232870899 501939781 344047807 310647061 469642504 297339055 150830940 136991941 195608075 867742823 249229422 943143006 900771937 649837616 198438738 154587218 484712818 264687663 530762414 755163355 485805061 335865740 238807102 354848247 535443041 349341870 911256420 158851311 269341179 385692583 123873516 506839071 876187003 707105488 384577918 412897532 832323778 135305254 837917523 505795544 757352303 299162707 588977307 664665627 782584779 958227557 621540520 969511216 276170457 410001877 304927439 714105571 648255315 782430706 629710396 281840164 408260558 435524639 701602730 562999712 509285655 878860190 186090836 365052746 412422064 797904224 352849495 104807285 594548870 395136879 328910232 130536520 485151860 289983887 651736272 377010045 701203731 322159102 550923748 187423111 690668544 926889481 829731188 194371916 413292813 599737728 971962134 137553724 398768925 241019368 796453238 758028771 437514151 361334588 620508591 883083487 520755049 629385013 443606535 783125298 132094199 251577503 254434243 573657436 587113950 277498660 955400270 964208253 233781037 865846268 428078144 198933454 840144368 242459962 294730743 293596488 702323211 254565214 842414477 626587182 192047173 762786370 879787491 334139239 393688417 293026336 344306001 968421758 310327422 929590245 201808416 805298071 749567152 855770947 792980082 472185357 141146240 420818029 274253265 716959357 512935636 675973086 312585480 948329117 357528208 895879993 263726336 246399071 601314948 922295426 795031496 909016245 127515444 339189128 959113833 353593305 686282459 943138729 244981083 136337041 491729569 770517445 837153468 606235804 618337749 416912510 386275687 260603674 958074846 343738480 317233752 232263953 780027478 366213047 284190007 520689821 228080295 157047419 919870732 348601871 720426443 343891231 980231042 737677947 418001316 849131385 210823312 557323215 307536715 681614460 558500248 882330435 751017267 562495610 879742818 641597053 933550986 629994852 365702000 962532363 242359169 396035248 754445171 770848884 962168399 779130749 762397576 969059090 795168234 716845413 518862333 530068975 471737812 819977708 269106933 742624802 250074876 125064335 950654242 958594988 997788647 442340287 468878822 984586479 814962832 685611545 643451153 177390500 415205518 688104369 786593308 475993161 774237662 113051230 328371194 570697183 235212454 962390770 124846746 187565708 317593229 344598228 567005334 953310646 926599875 315867787 772321936 357140711 140344858 378112977 895768244 304250592 226400504 119177511 491335918 694278397 910699706 449583466 537399254 466631850 415565149 247674223 160511261 540275693 951414887 147520240 896310002 500265846 556198646 617156259 855624266 178130114 698252872 831030124 465063650 818519892 422359559 599458337 560023470 142905672 324902571 221874959 323525379 332693817 338237283 183146030 304825722 256571368 702733571 446520731 466931396 880409824 521440076 246639161 313982526 431295493 450350215 164035479 613671501 754916806 425515531 766887418 847712327 203427596 870084217 156612262 483666037 456417813 813573140 816785791 666087358 178781874 753224681 689859202 660724592 682050840 322528221 409000466 162733598 387032201 285859672 558092673 980388907 786821240 760395816 878650888 146285755 207126732 305452046 629785393 865520458 140403008 500415674 707740934 777670145 153998939 880634748 165067285 370307043 190928162 508578492 396549999 879694016 835202433 783852409 715470257 604395353 597756947 350105051 536982370 589352682 961610627 303245657 785779813 985113636 502616750 277422016 299166619 182430289 240590059 301011637 978000169 442939652 617348280 969523866 469958078 470474572 477951449 189173950 724405316 101489949 827438875 957838648 100955202 906556010 378504495 904982383 923457666 639709831 469810293 532547497 368473862 878136890 654267196 907151798 877447294 664850984 565201843 283880227 176779107 678615191 524451598 809786265 397961356 445102992 661848062 942390585 179532108 519568112 103878280 995078743 538035170 342432485 532154145 846045399 451090961 607789477 872759721 634829140 250610879 753785610 325986730 189268369 878426318 977385861 749463105 394013308 224645322 581004646 221412898 809259080 305540454 955803350 826519306 262325039 616201521 202933892 637490498 259201750 196711017 504404307 385308186 151245738 816592017 378729539 618776565 681942751 611899016 829321414 733807726 463172540 974815264 771450499 903596292 760538957 638555245 969470191 588274110 493178127 475187546 641192452 335196050 935051361 514827914 221104361 488606702 983273873 758695291 140467832 717175398 380359613 316823541 563577355 945280209 667662534 198010940 505052568 546886970 637348927 558641612 834248490 948086048 675304424 703173081 890378637 378375872 353617568 694190603 605363573 839094155 944152261 986736508 455134675 944285627 982187043 537853224 992386286 112651206 476248316 936265996 772898299 697021018 734974285 451421259 658909058 789072651 994551663 930245741 599074821 215139187 846695833 994442301 443412814 174335655 811805499 447179596 231926007 205223737 143808140 851317501 226507379 490945031 819463456 261037381 551680227 528624916 156877141 877713930 448374878 279082470 667449422 289300902 637016849 847653037 710794018 311628790 879977251 452607919 831423479 337363105 717581152 828717395 981252593 200453575 690646109 195004847 889460138 238008460 402632639 179666141 707392017 852700287 477211113 806803680 531376566 162579240 959132273 765941543 317943341 227853822 479631449 331738154 975465895 210863991 408187343 926110489 781041382 683526953 877557608 852411299 382678884 199606390 933540259 976230182 311534691 804550486 798269658 956736536 685371086 307446751 275703263 161492857 725341582 602529890 713419720 785889878 920254499 652900853 506727409 621124796 604809202 774168948 432416826 535390862 780026061 837054974 686971523 245408843 436506574 406819655 351474552 537147157 229809239 622244308 509329142 992861436 560947785 338908666 320272210 779886452 797032865 476115457 701733536 936672686 544269588 418110597 427834481 787900355 472541554 755372054 236781553 202904064 886977154 348041981 875593069 865347228 402691157 500767209 119656048 544183416 564811018 713364074 462764532 487877368 215338602 965934354 959417788 420641753 125180659 994702893 847279952 981157793 427272201 526617294 957616763 328545884 530442448 583977415 499767718 318181830 242773937 587498691 554594847 681942526 592047130 637311093 808809577 255258834 908558081 639899364 961571274 697716677 113046333 894669059 112986044 144084569 794443917 481921936 374746429 948713973 401788557 733565006 808647014 405627940 735359079 484346796 821215433 922133036 556718827 776041623 324193328 300435482 649154082 262180135 813854607 393635683 402111957 733922216 271667318 466141573 767548068 558424233 953050135 936052013 476753949 519845586 920705052 262843197 488351599 929583865 960972925 437173062 495690574 856654359 383283876 386989754 965761649 257786852 838497417 557951156 260869412 141320564 170464352 228140925 430440714 631659047 384392875 698844400 684054182 997225852 742942600 109848740 789858505 209087455 709911317 139474020 281591839 988356441 500832441 994066762 708317007 180982331 462500620 772080385 342894551 387022556 609058777 636562109 248481302 105700572 454814487 985693088 686295910 901503478 329592981 919784872 704615333 970926235 597255640 173873514 490624770 928694236 323861508 230810842 455431344 956377689 659084418 670617332 302859791 854578766 344185928 497416358 274617786 921032088 801075124 375308525 176459028 649098722 129680802 886809036 373927685 466536684 963387575 763525211 968368368 331578220 213301853 917679826 647205163 272823237 479132790 282096011 446548621 460131780 136497955 957049921 578121259 633612896 509688515 527684380 453401411 360772309 929778284 896591387 586653450 969053904 728905358 198337317 163038081 863973662 933194481 681175988 457199081 490841326 434307099 569504318 184007029 576117540 478795546 895798028 152604657 788430995 521864633 624773030 933302581 463593770 881058859 800570290 881284171 778845616 382898379 510680121 543463117 847746408 913718417 623402459 564347750 123509896 213757265 864672620 929684666 781490408 591452487 594346801 913783152 882208761 828138668 263268679 615511138 555447030 155729930 174137163 967830305 933440406 491636256 663830854 881456223 304295784 398703815 703268095 632475382 502364060 668651157 271875287 608131580 433848846 667012550 573264672 193910429 567732629 133960552 137653066 387575517 742577616 179305115 283298184 443142434 605255863 732987971 809898015 695933811 907543831 754306147 564160955 113131569 211065190 331856272 339730148 616291262 924265778 169441357 507475198 976775578 335040496 721763521 801445708 768295786 812535565 355602445 978641043 235490546 930484790 356092005 200852320 446847726 778865667 106662599 543611369 413377429 187136885 266937993 550844255 162396526 965111402 400780848 947863849 344838890 470363553 334744535 303582130 127256982 499460492 885839772 768219168 677347403 978733363 312502569 493859409 463189245 566239076 725461805 178154008 130954740 953704826 522671325 484798431 725574909 362953789 420208775 781106324 302549576 841719134 264714767 627065282 923595693 435084871 888997824 349999169 302340714 158997893 889532695 434192084 351573124 256368306 208660830 233006856 947558900 813171420 428461931 864061596 172570283 705724375 998458856 309433467 706058956 741476673 813920598 181125150 247504802 887069609 126223702 659191054 748841616 213737096 240589148 510797084 272406568 341579907 740236064 296564080 807684989 458671119 473877973 299645553 141030293 195798037 156117626 822308744 119458142 432837137 337952592 508102806 818619105 113903691 135043724 209150757 738790764 789415076 783132193 412684309 922041745 735467952 353138732 627856467 591531166 843301843 837435922 724004187 922744682 562758720 422643765 241284464 548710371 658842920 207822667 766287281 169553828 351322863 950169128 699681365 399957159 656129034 774026356 843761196 408697810 208776557 809154466 273392258 240961361 246355767 860313917 249221655 248541506 575910328 870052650 585020725 531565901 152694503 665951932 645015699 239268739 604424075 584343468 538094949 804537495 149526724 870022062 946212859 844195525 239856678 757307654 147568347 760163628 729294294 817271276 103268317 798088861 841501290 217024537 448354185 442372252 118604669 952632728 574035920 138134825 566090139 750489297 663261593 803559104 362028488 134033251 311051894 745525686 672939975 569690083 825361261 184508870 557776161 278868329 332713258 808867352 691004829 461640986 964587232 463746234 917416498 839124553 861587788 600181158 563641529 621066849 634907499 646140631 629671856 451612694 867080713 268798225 847866679 149826323 667100316 870490740 750053691 263861623 618248152 405981548 649928752 419524744 390573028 241336543 595913871 691242634 527985039 435928575 658858705 385100129 201373609 555817476 216457433 448236446 490359294 965509189 609313876 362610882 121932056 464395717 757848353 445922322 410028527 118866981 580854735 551577002 983794442 349582908 308600479 322007856 999422267 577980981 645886632 311017000 677451490 928593438 609285947 907699506 259547122 285728159 898264865 636560427 914474928 432009575 982228305 458597315 738128374 572157673 313587233 316955225 871476922 473953533 818071780 873517495 653027329 556886003 434280904 722409949 677605513 272076728 728198047 999011126 314382368 123248123 488399560 583109637 357675854 710407689 225216978 152191176 723874844 954000580 496401064 387381687 936697357 821598351 865316890 731595059 956749188 155953525 928002683 723580501 451745113 164456341 308742855 916298808 853136787 522894364 628360420 599042008 660634992 752168600 518015672 661891389 686606837 846227921 610638332 198115718 655744156 584451273 717863464 209825894 996958293 763982163 809509947 327141404 983704362 630490365 440031320 451175709 406428443 911761638 980813881 556748916 395887807 768434990 999449465 752980747 553904792 834898831 801339327 654149117 914256349 274705151 373628425 751204496 824951034 852128546 823750056 359753024 963338976 672606564 898633087 538789359 881866011 459927001 471966553 522596850 198374301 775222265 142458592 310845856 725565818 204272244 979310168 263781760 195830494 847054991 555274644 251748175 226081885 510070660 732220373 994527169 232032927 172184071 391953154 579674709 502589738 676399859 482368439 396074476 241402433 562982728 279458738 497588725 772384934 359311021 579132111 142673664 263257435 255794786 655217027 662467137 410562276 127034184 899150152 370959977 615700738 429141214 638892549 147285476 573187046 695279610 862161397 927352271 879133507 804007654 524265467 904812506 447701900 280659814 395088222 524420978 880522515 846325559 348147098 764384432 779250696 507942963 321657153 978745670 832113590 836114161 624181394 754034637 306240221 255504784 516531671 167544930 207786013 627846460 991860244 286836610 838096222 405290220 770604805 999052177 102676236 381532521 848496363 338438239 663500470 299271901 863609366 338558823 290287632 622732848 632378889 638244940 227913465 470950221 908247576 238601480 191970016 706411307 881218849 129624194 780968502 947170516 874640025 531460408 390283620 382053831 844778243 857211950 844285970 891378790 778124507 597998061 520237382 248049407 431965227 125058880 969693132 304725895 199347253 561665756 337541260 494671199 825079771 527833415 642505734 930529175 685595855 253904382 895484783 398562796 991936028 104400613 625623456 638788193 669697829 202045415 119067206 813755862 883933066 199925848 725307340 725173439 700046873 253840512 569353857 432926068 190856536 146009576 901555575 552913244 861473817 278834819 879550973 203538252 755032699 951936229 787799457 929258964 213098223 478465423 848517576 938040356 853600852 717269740 282216985 913554861 148435227 449927493 394529864 942669341 712610583 160235664 281100211 379714190 721379615 782463831 291725504 954472413 977013328 261398865 130911990 686590799 316543925 305884774 315083018 481968938 383155630 925018294 159032281 822108556 204119273 370090852 328597526 612690281 867326927 948526025 823829825 749501801 950325272 288934111 130596139 683571328 605295481 648399444 404013856 985751799 841569881 833370918 895537557 531067226 628451544 975091636 473694368 467836260 342033781 116105008 564767091 443900763 551780486 981013753 882677802 589105371 256517817 629565768 569739495 822027908 808830950 834521126 392201969 417686399 542283939 905255424 148046394 427164916 912799082 798054121 494033878 828731685 753640118 421817639 302056270 166547493 260459993 354899490 755867971 148937970 179732045 860218765 569565627 583376999 706920129 204624581 365660707 604441327 446616270 629796798 905349203 844814465 654120179 348081656 547020802 294531469 634916244 110443058 124124214 159923771 827726780 292970471 190561724 449284080 811454688 773542683 140148495 122553354 374650458 999187722 551258945 585922090 806005491 175275408 939318308 299912990 865399971 551979926 653864530 685572990 134912359 712910052 470515333 932919697 363446604 335686306 289516460 822410472 388123072 408977812 174592792 302318534 866720518 498266927 435413176 667649694 662735628 806502787 775778326 569514188 839920177 513251194 998632608 138436077 282058781 141843465 576347466 194921662 750643679 463383264 361942185 299081095 279453112 381033489 580493019 304511145 799207190 775375075 590892891 731326020 696801640 732617503 784414061 391431552 611865739 932530959 825078089 748214664 269034035 374400032 242204528 673265967 580644886 747204969 306947116 725915222 306724319 608028450 500041601 501763131 989651643 987801895 262468860 161023010 776426128 911247522 414067670 202238926 953712526 223265573 709687956 387052001 421965271 265702140 477738811 384680555 513890429 315333579 726423665 309941161 704619932 686023715 691985710 503397991 967679291 913869043 936377075 226363058 831143655 756327057 816580895 524055904 644202859 408434031 793620877 820660567 490156214 514547104 159464525 346889571 876803090 953609614 152778421 566691977 700881164 961371803 677302172 435122485 657632544 115290250 549533915 215339654 193929459 746499451 227903973 938898013 763112458 773155907 776502296 687151460 617316282 745874460 243870119 453283388 336827092 957859107 153810175 382467886 177872298 717087905 430286415 638586988 189246000 768079701 872537164 109575827 216971944 379969074 863522593 495903403 934593900 460767026 526559951 984352834 177880811 187045863 564309280 969465408 487307297 404588846 760980986 747385208 944993823 221937860 912286135 751673229 587066903 947534510 184127575 896193970 592916509 347443292 513701503 434506783 271192682 862990019 756177689 113675208 784340991 355656071 553301920 638201674 632368599 499963111 633029803 293043884 407130114 640726415 320436454 360168395 195376741 741334984 293787391 136735303 131546535 905082184 509015403 191935514 897160707 965846915 118032282 451606636 751396770 153528355 618954987 245393913 111253468 459916309 854310142 657129676 833597842 722473277 706419609 663088268 546078175 498797065 809338068 628190982 356059418 997818531 347623649 906537618 240393068 390772473 229104919 341618020 412868243 485116606 369462291 194398838 946419114 454904246 314947963 711992759 126433525 382446496 298491939 439643111 310879115 381779723 859394683 603901837 695557797 516911749 169031781 762009805 239460496 840946255 541721996 185149836 161775852 260985705 345137877 818627962 831213150 818124390 428863107 851700280 336876733 939353440 944095112 657786151 387799128 236128233 337870307 588798804 502468738 807927765 346768661 978975137 931057725 516040635 257981146 472975530 790996966 996284231 718470373 991141704 991506447 447820123 451975494 208175783 968744763 526259062 953267573 472281986 643781296 610840414 878685421 453520434 304461787 847511216 455351693 518482512 564312685 959505150 845498880 765791881 945075295 279530305 738851331 881429811 550952985 316394921 757211306 736323249 470537387 497106041 771064345 372581785 416560917 157266241 481933400 870810523 155722590 910668229 717995317 915223936 792528104 432760697 790415836 539486492 204871275 130830640 510982363 717365627 103699490 273369680 449264955 405520547 940894110 627570167 263730085 122916369 521634661 622153308 309517311 413994096 378035978 536367214 761818380 926341415 362489140 700527400 763780878 802209148 619171790 477791043 427106586 224181603 531957281 109830936 827782651 467371008 669102283 329470528 922972038 391647532 370136577 229464349 204737129 780365309 752372846 683329066 220278323 551359312 192519719 427363707 174424972 172906931 246655177 366881528 518906500 109245236 565979208 819307963 272762052 343189068 929286889 107270120 950425160 787296704 773787772 449763515 615060841 471587499 871914975 755519318 426741634 870698829 168527669 262062568 862790732 659317474 571221745 606393217 298238837 196834274 924392264 350589708 383164459 985883641 563454449 664563583 569340032 937206304 415130036 974551232 897893672 780244771 673075673 873444160 784884229 573313000 231556760 497107435 502692769 687483802 868546207 916511117 393036610 867164136 383492296 711956342 393210532 521177013 370874159 335129405 939680396 458549478 371653350 638912481 985724871 385075847 548783407 141515311 170023572 512059543 865595293 633237496 866755680 536897763 477434483 542028902 469526197 916264868 454483942 376969932 692628059 799371983 830849288 383984233 213800766 596846798 985933352 518022420 180428297 486276394 325816489 754312927 340940432 191297963 620953352 683075701 203121318 771774161 397566511 883702205 294816651 934597189 413963005 320975863 494871483 230973516 988284087 852955425 197246185 907927609 982067894 884212301 689572411 969128169 617335187 904930947 793961386 562413947 794911557 774160771 606038109 566531418 462846155 403762592 924873284 828915185 950933263 204011641 879033312 698551238 542118166 164067254 886923088 301932235 484905793 595982383 943826129 348098769 727770865 432974953 321305810 194195451 993120516 410072538 851563077 215621259 152749943 467701025 644613940 602374395 409825454 989461920 880588602 799820078 743648049 680471398 705662555 777343341 703430993 378877243 803776954 648425888 901115150 964704784 688968837 178648177 508390633 173431849 374199380 231175575 653998084 920759668 984453006 497279224 214996974 789896936 412878157 243662172 887601572 612248931 800419662 946067347 486558273 621461780 901660971 471039701 526090487 925109847 254834088 746951832 979277360 696935065 942359167 376295575 468777812 766667581 451998329 944561613 739403019 892823821 912923588 351877750 475964564 350791170 246015525 407877368 118373412 537549951 166809181 837427607 580115142 557255567 210412565 196012514 880549068 940238638 611650480 449140837 889817854 854424928 643559814 283208231 792026574 141021200 909225871 525707167 102624276 393474125 135284007 916647961 381276838 346541408 954265657 655656272 999400379 499041015 143594703 867461345 695078082 372566073 837417591 355660224 658037886 194551128 124851371 702303439 143519307 727165251 626751287 458583543 818126277 903928956 328075320 406409137 405637920 866311589 250473449 700934578 404864414 130430364 752552476 427826043 959298423 190332975 827256978 456021586 553672308 857519990 899579233 605768461 373027320 893341465 950241048 169283733 720375713 235165118 666245091 664639544 469199039 194016228 633519714 230366328 621178591 509145745 444311641 938044672 221157007 482516162 357478187 461241001 299739225 671545629 402816012 522894532 985123821 390422368 409395842 426467396 785291590 194330540 621620688 994792382 675827206 173640679 691329479 301969500 116297284 318121099 814204093 522266473 444310208 561938698 842673223 576891135 922186488 799452255 319302093 285474304 977167643 935022833 458347429 655349911 415641045 146264803 199122909 673371217 322595629 261531842 182110591 619567123 782541187 207259491 860300122 308784471 870283477 363329534 172092953 212319780 470831526 590612600 187356842 973107125 374987712 956221867 469353000 338031633 442641996 115379450 568092257 106319459 570222140 164583134 267980534 410325182 798130785 200133305 326553385 824205435 729751229 698445274 836297972 116258334 787911816 808267788 552242942 242943288 155473196 527144349 846075203 316958522 264974250 925660725 963501983 863253094 957067832 791780296 765966366 931937724 281466082 369126354 509453291 831122819 450986719 486178010 686176764 378008867 511462731 251276615 524051520 249327896 433879313 926474189 202173854 383720974 428587643 124378431 334392485 228847784 217565578 634910507 671146471 296398240 604025029 277153951 614606673 718915645 618056298 636524650 867247841 955737392 975902304 723455958 853829561 410641948 942770457 984281814 997197601 736721252 274010817 138213974 307541613 687471976 704550104 857081453 709167809 112595528 761456256 566242381 233998666 477207272 431336754 610826001 243653356 258043089 977912380 617609142 532340788 445955136 656771583 486053322 926554866 783259613 384872394 379373673 647768303 255607580 396206454 399515327 407509557 186922655 612220859 865446776 384710887 830297470 358940186 470821741 662969554 980342853 117866755 568185092 535219486 794397691 635947155 696515606 443235345 623826259 180683447 399446610 736010347 431663173 729881114 901787583 143829891 123473680 890580485 194181851 877791108 749891344 585649109 146041447 161969152 328099337 515341922 397392366 925797904 531146986 917763750 967206289 419795435 376396068 852569370 652942259 239262831 237654676 535630554 242576943 371181634 706032985 283649129 445079066 393408405 521406679 919884080 540718220 869421659 315933921 684623200 560195876 524440111 749176652 684811838 176086514 338128075 301299073 759908549 144306165 157041877 773288777 360198279 993386631 996008806 784171327 644282236 905732767 234119335 937468263 827799388 414274000 929373558 866221589 643605778 884126210 581830092 418032367 108029418 974512929 825812018 121316636 833439704 446859162 104931244 452240748 251896374 261281313 759386300 276154535 322309093 512777819 844291025 959744853 912811189 555237581 426085817 474022607 812433912 151060696 722130236 396867770 409592233 631930393 592767306 462751599 698488847 269492940 122541725 161265329 954741727 507296169 596267022 419619331 585477845 518617855 699758690 978391688 606433048 891308302 470646312 674391098 624125019 238571719 155429906 216036540 713026405 716194124 388536488 334853325 706938506 924886917 295102347 516194189 705530236 671141279 752658502 114011264 835260864 778152434 837866205 787578071 450030729 476903912 445083850 739856262 652468564 646013850 577772830 176257538 983011273 686264581 338646297 534341701 983481003 109581925 500173286 368744620 151831403 224635071 326640685 595033826 873309050 708692246 920089726 346641799 662896100 807473095 624842770 937360154 760750934 462103915 396920108 120480237 534627749 936608815 257394714 253951182 967368021 259614173 188758302 630316551 778228350 674352571 376561042 225214966 515017792 110317495 319657874 659522865 688119266 283626773 159243629 255869723 634323437 275759268 336540831 354565991 388253381 130293695 680060377 422870984 883914603 919685711 652540811 776408267 112788531 769194899 646970675 702225920 783107805 960278286 399403090 262375455 428103599 358499708 599246021 801095749 603373998 708049056 410312337 220526820 198706618 655421422 393005849 385077649 578821441 976011475 649490588 915358614 390874371 530388791 763801612 844354156 631241507 658976125 625383896 437261966 101347774 561272335 399955197 373674887 737847969 934028343 149722396 170950910 423628349 603011469 676177829 960579688 467481100 568200946 636334386 491558698 737243829 887485776 502553549 973460926 762298930 161715347 406127816 680410817 208467731 111137057 882183284 497798565 519299223 579898146 251364587 869114090 183232517 642587721 255503570 963273928 150273921 667698610 546864708 135923774 819955713 689676761 264666066 737205280 694886634 473825388 302407979 587708932 488162590 273883785 339597206 160160949 491874730 324647443 425041980 273366086 462573166 535416009 385322576 123287279 699610930 346959503 996677637 357040789 866931488 293666468 754898567 323161643 424806354 651739464 714125280 199384783 307382436 858300841 181722048 100974120 151792465 882880321 122365931 945594255 746066355 777851997 887568998 586677838 484245491 929206873 801506977 111716650 608726360 159285634 583437237 732170370 571909826 198898601 897551029 376258616 119528251 681991735 758344050 164516387 869683993 336676846 826637884 759774516 597653317 857051767 480286882 351437999 470082751 725195052 963989053 407299935 153055263 925379287 468363715 260804098 245170951 439068065 645590735 675138452 956175796 357560869 815470704 378204616 571656144 543456770 334555304 494757868 995525419 582466743 891702943 411115274 885174044 894729388 203404477 659762624 803107117 703850382 768018565 718869738 577941941 962502608 638625318 194857891 588154566 363360619 824517418 670034199 502714143 315790530 461127775 656180738 738627425 242325050 192356685 579344225 280537044 240336129 548296792 949821703 478363821 775987065 491907696 436789530 738638758 572437708 768976224 445885074 995439751 856121370 902547833 989170560 982953095 974137408 103726490 577566268 295776687 385850216 906166911 961699431 812616444 528095300 198522667 391371227 214933711 561060654 690835267 304328059 905120782 682775076 794421818 246829330 264356603 412165463 101846649 714776523 771674147 803057523 267515356 141630028 428287839 905932296 693543118 842924911 226776358 788351263 601314476 615445573 864258509 313449213 499725336 478509165 196221085 461266339 356607935 457648964 592543076 603517940 794761268 228596257 964848074 347932205 303401755 274933740 207661716 264466533 681271768 271852631 206674859 116549587 212132586 298633681 265723598 409034103 556502166 542800684 183794306 147153984 306638046 985470869 612060916 883127304 997465336 387909740 876493349 164033634 586600338 334491465 718572415 751375333 108701779 140282057 449352872 181969987 136739800 494973738 470090115 549538522 685761150 192263970 689551254 421327657 561342322 545705666 225794944 947803055 507506094 834997384 263739815 544940281 558851972 784317334 978372343 116818755 764500085 106734569 136047476 373898458 929259788 595664268 134179029 670736176 163566669 656969816 689454254 446930505 175472367 214064283 888963607 321883403 123746870 618455686 366824253 628243497 626514390 718270037 962900278 100614953 641348824 832339881 479418921 729008218 874095387 567035564 978663177 711171990 626595930 601569336 640024968 871327357 391681235 989200718 495103162 530866628 860474431 430484276 327197626 624846890 353867347 271607171 659120148 666024306 567674595 237526876 879594728 401689690 203384278 602430027 988820076 854387938 144942077 853710058 478431882 679273511 921814692 914119278 868124912 652687159 554629234 709095629 577820806 797389677 341814241 150108073 818352193 194691565 847666336 853233766 910153436 618077510 622689904 604165346 775159257 569941689 147086100 103992075 259566620 147529966 620592252 948862016 967911608 209634556 371991495 912622158 851507105 359940801 808848233 982524229 509290819 113700997 265917750 232526492 715054935 110606583 517828790 109340993 615463620 210789540 729869557 831977490 291305222 327051297 373284204 665599483 490561960 459780630 487220633 631018976 983857730 368508486 407248277 384306344 918359092 456949880 806701281 538801793 653807386 254272968 251442727 515474755 468049036 276764086 490502856 635683454 691484012 114304600 256760761 907333367 176042234 695402663 311561747 549977413 309353267 681247078 293051990 750056613 459586806 387658891 146388230 768522278 802044814 773037235 122066543 414669635 655417306 640177884 229210629 945006440 862111029 587546050 908561960 197312840 840453183 141516852 360836114 502202258 338093321 255350322 964719140 208830228 934350699 223605832 263218486 383404910 335144213 754922384 441063952 864057807 561887083 190057852 738270388 965308225 710002140 822917575 736854233 742651386 608585600 466271792 820762603 319233915 863544151 576190450 571379020 759375027 881408879 607979436 245864410 927232214 319953512 777016888 744705754 673680748 809830540 833448298 289015172 139055335 775613727 468245923 322189238 968891403 621898311 855427687 788975336 720103547 457541984 783215032 377989653 922797389 950102774 223094022 207807161 720159738 359258734 896112298 595759274 898886274 193877718 544269080 341542237 887156240 583957645 579413253 856030848 841501325 829501416 288029715 350911436 176989942 286888520 737905960 956848393 756530845 644723438 824840812 528416213 317333898 898569543 570707084 581294149 665230759 850104573 848565962 689678560 710809834 214804622 321320344 275928244 467361065 579972810 404392737 592473724 892508436 245492414 257978774 787876083 250938932 911498288 419177138 511439399 125365100 729381824 175488264 636591424 699815129 887471439 203411541 917896324 828928781 192587654 144468507 311800006 503425795 858998462 793834360 873736026 344758201 475075546 232957882 287746228 182086878 330988477 649844349 423135494 791443196 742310974 412382829 504715047 430469989 254143095 903516133 744269353 144161606 548698306 520331340 734084979 186480960 991212867 212479185 314322921 146547169 129239269 757073685 693386759 951442072 326943264 821891117 723620884 496668267 307270730 658755369 598430868 908766347 719583196 706556053 298677291 900521091 622029877 146614468 886925497 711904757 164426901 839797340 812675868 319057348 114151516 895641856 244418006 643775388 763209593 276213559 910235565 378798619 291828706 242427432 354538364 955075650 762262952 755192657 615353794 706981698 748038022 604848207 336996158 640049955 148721897 400767871 412330357 940375083 238264428 118592596 464243079 418431697 934361123 316481567 405616426 425982333 634448879 160654980 853203251 584132768 851132881 189721934 472030631 826108245 931464967 503021992 116515283 359507982 522908735 311132700 408377738 724149194 170872803 698782176 658231749 227779063 744585142 490089133 806295790 319201181 139228689 187174017 545482440 475843680 326720831 518159535 354280486 189313506 210204195 450548627 251516807 599519089 219811526 553703436 154000405 471702562 951539551 740030386 493745218 127506359 139294489 980683612 613721524 933772280 557222110 765899355 194114186 237458124 761796430 230390143 599065193 624233345 958111885 916774013 500838132 184658487 652221714 591934406 991752276 243675256 367098442 492925930 329988887 168371794 307696779 927807280 946273614 986321320 367121053 689787421 901022956 978455954 140261567 143666275 384447370 441921491 134889849 174998585 545327441 889083216 886746196 354059345 460188929 745944701 780345016 351538783 617594983 587153707 569635263 498032850 260597505 696440710 614151224 892297636 554961605 578238999 411298215 779659054 519499648 969602482 219279824 448401447 863140802 301078660 304531097 969146300 262857857 427961812 328184357 295416278 663319291 174761291 588939227 126103334 571722660 322227214 680474208 710250009 593220668 970509216 862516841 207586379 798614922 422106180 874603375 329887060 712602054 298593410 888943888 518814358 789788595 203641253 982952923 676936045 502783317 582372297 379357887 909747334 849986946 115804595 473815096 434899653 320865291 388270733 566581171 463491419 387071755 728090184 452995802 887240223 550465000 987721972 564179647 888543435 388586047 402283932 761564724 977959335 458272530 827155201 557659304 285697352 296346225 742800792 642863840 128676804 147780064 888231829 498233661 233822908 764074908 262034017 668762025 349392318 248758724 215238863 853734646 681916447 626940554 444277217 573667009 876013725 442796110 315005225 201050548 800696206 290146837 794087369 492695516 705484798 436305795 967289740 573243931 782145705 452518448 209156909 641721183 113602454 256606988 303557052 949563282 663207408 950769907 478688642 668319649 508825568 811856162 187040317 590343058 526030509 542106418 109734916 976461108 895674905 145062433 218823413 653321902 806783693 208188360 597665025 127449233 814500431 961472910 784844772 182205190 121467882 843529716 644702153 126668375 144679406 671005601 356688305 835832211 184431346 925302237 948552273 585119204 575128322 768176449 186898410 123528278 463501000 938362691 637148254 105162083 772762952 510181190 568723226 350258490 502442711 981290802 952126976 770486038 391893355 158539922 498368090 731681819 907136484 492276194 176145356 412607904 184857076 522833429 571957244 791506752 494636392 620669392 241700251 927883271 794761349 244596863 949149945 776511395 409764715 945528014 727802605 798107052 746346792 692274814 665209900 517607951 493185060 300523295 962368271 236079993 709807079 975932821 973451865 770601886 575856593 742692276 199689654 195323417 370953400 245695294 975094788 925523995 694561180 675553571 937402404 576010645 950737949 824668451 228116761 152565408 752729057 989684514 827408233 235474417 264132195 452206623 347196174 731542972 160780049 773440617 862421409 681379354 623445596 104337650 999853037 242928634 442886888 546123482 545105803 477574152 717911314 747568373 808552087 439596326 685985974 131353929 922439870 306364179 921830569 818453751 541938701 822963759 899657820 446263270 975509675 701994106 341912933 578439060 646943485 900098130 132067607 461112488 634492546 236311064 283922739 522939402 857498131 512080682 737797097 872987866 187575098 324856398 525684781 608161075 842013232 165641227 283369413 566601030 649439564 771685796 616416873 598014197 916631005 577053126 878565584 394906185 644211242 537689045 760027288 186710921 530084858 586466935 548472154 499104085 608468143 122469152 661678719 470726908 540522048 703401884 664859790 495640729 447817382 517110354 536998334 704242879 562480621 693424975 305434747 562590277 380557443 876608360 250614637 511815988 117573666 957874012 421956479 589927768 317433270 871869036 772410064 873469538 825053162 423112100 596832237 500379451 893671623 955954326 265465242 725305657 442677472 877051890 868277865 529882881 798551848 197071196 400418629 374429272 975825316 255664496 996522595 861856846 512063906 585163872 397674839 947005041 496223864 503692653 640677350 154712437 752944424 768113298 445688452 157810525 898305527 174121702 334723091 820473314 398473418 183638683 474724412 584240680 128946240 240207694 797259643 486803380 886280410 557653796 185851460 377085519 263644298 799762892 493363033 820190894 850224166 651052071 920373280 404654269 474310079 995643248 440607289 851073248 580923053 441963654 515152430 714330237 335281241 731466798 370887122 479799098 886961258 631371751 394628524 637312132 256349258 745943462 286317045 406600050 147464528 594987089 192979755 830674295 390946607 307136677 684411840 169042128 589763544 772820689 201375903 638731722 502610792 316358840 835292576 685615960 873776731 625688509 976932241 339125991 390911522 442156063 644436373 626066229 602380375 226726458 480671747 788568738 612185640 265519807 838193336 431656133 569467181 614350239 522946112 274413969 124228818 318831200 830502480 734961085 348238988 102800662 969871481 671304754 126120841 557978623 338575727 604288746 960627458 782844684 304433349 355107294 681745896 574646555 952578230 467479288 910983854 177750824 254551315 110353894 189798155 962028022 341767941 150875111 392357790 297578903 620539853 917865935 319479239 209381958 885023735 897697215 206144056 690319612 615636244 822645309 592054137 310725162 808252417 729014579 417611432 590894041 874639817 583854505 885685988 237412837 984451451 611094838 810402142 513189748 506727007 745156228 156381883 268537784 952229678 310363998 112493555 951640746 305545835 412107195 971175880 681507525 422358925 174061804 937073452 802980658 275332840 560837326 130933862 877845769 692580424 334765114 779709233 185235336 322532738 631902290 446178169 747735422 651229557 763069808 575394762 872127831 509171000 450396002 916683390 715621283 205151417 458494406 104904102 370183270 777324858 555503217 204973949 482233390 483576481 691850428 265957991 812138423 670635443 858669582 461840685 533544579 134777946 635417110 810842697 560372285 964262265 853259101 449815664 662236669 758639143 841882208 380591712 966620198 974112864 232849610 265683813 608675203 868745257 965925014 396604505 657771513 968294159 341995170 775174188 887070575 575875466 636099213 916328112 218484326 145304683 851783989 904524929 520547610 347450609 874821364 746350240 905082557 657801306 299735435 292924553 218981165 621992570 197507794 418703951 752407046 821046142 437150974 160462116 653166657 720707374 128023278 839379084 999123613 722895385 749873290 949999965 945232659 707385009 173882767 399193992 428560233 299006292 877338964 899026673 151749826 290723679 977358116 426652223 554361818 390439701 284943218 298324481 863328311 898794006 776591888 174040780 690341901 945987661 979866630 943784978 514479363 146216464 532559973 163689823 147293813 980545113 718680978 202131543 540929045 660620558 438077602 146690826 132671683 520179044 996103040 441372086 955928578 482723759 844011261 684671249 612149636 497973697 994334957 864538341 352426052 373503813 151718884 766709596 873291693 667904382 635342105 649719100 580012550 235735158 219491540 921291351 763914346 649919506 162425476 166065126 436680628 508355038 142820870 257942763 788811936 961317624 657861165 397811410 999870909 952098560 171202970 108213872 627333984 683598925 462776721 944846846 972577448 517685810 848223766 992007377 591494652 553781396 392186032 293472050 232600738 555467229 892845940 756138839 646814371 154774513 755821156 296073175 516760412 201347503 476712463 645528108 398197516 481878559 371978673 276193147 379830259 538882079 129015264 430045936 152531838 507629859 365182699 812422069 158805091 541444059 333127884 511915663 525334485 407311298 493373257 933988378 154398843 499038909 454515736 911325134 876918585 558907023 851330336 764650854 606448704 922996067 867398284 111988409 824870112 254585067 838681691 369572574 959577634 159734812 543969948 597684666 715787213 937414774 415843030 723557653 625037610 183793813 306272617 253404653 776949221 933497621 690073923 281643092 864346760 630791704 830515842 765962254 462543687 212800775 681707256 847640745 807786002 173236397 748783073 715598776 909215595 126562460 955675785 193182692 214563067 743311656 718714410 612698024 793346806 791311932 967499761 308692123 859613613 150901539 797840669 563075205 313027691 766125973 629805473 730192643 591786150 123191303 264066036 680800793 231940758 772828580 453776715 308684230 314898538 853740308 274937188 875970140 547653653 680321177 308715816 905534221 953666107 704087640 261719952 973332418 739095522 172303856 767757979 441497535 665982498 225860460 255560082 801255942 429369146 138503252 233469061 619900252 402657057 391158047 510826738 638242772 111440283 931874888 272311436 810712313 582325112 156120726 211270427 353814639 139107577 769656593 423591024 519774112 206373473 383861602 939541533 742151568 296490720 400006741 675538092 628700230 932972801 739504517 751564731 790033159 449865260 706721804 478496272 317158953 494071255 500005819 449457332 335256272 258982434 373140223 593476975 745386596 274091690 178152260 901143571 831312280 165796961 131784858 929530481 763567319 751939930 176357907 111099902 863428615 490391089 131464788 667087816 357137286 945646143 869292771 549018595 565462244 944562808 372726563 701497968 428392905 258115502 192084776 472545459 205535643 166699401 382911117 925070065 208912254 526556633 914254360 276069970 745379375 211512087 746926357 496915775 523406076 118532718 857938466 465292118 856774256 223067044 569099147 264500717 389336217 674970188 664003260 443900447 628352098 594896607 593584160 410404706 205669697 422168162 214402186 798367914 930268776 898375320 881856016 293160294 401210708 491726365 577570313 681616540 207193813 352023151 932965732 426576251 538617558 120556491 893176678 836245914 791512668 950582080 367229841 845935190 662899361 832863903 158918083 588190481 606514537 114129880 633643245 869739268 147781734 103363274 824408088 143967283 121138711 222574250 868440361 808202562 600252685 598898035 676078525 113594602 581960440 912513250 115926486 496840872 674290030 991546805 360886157 103700397 134943202 349333144 137647032 955204715 195045930 839738819 741227824 985911723 321849403 611761477 409481446 656948381 732224637 400059990 107900112 691546408 690003517 628067916 285102058 155739225 644131921 323964454 449420229 252446915 805304970 185528833 900570535 389686429 670013555 621046161 739591267 225359400 477115457 773027390 687154923 601105698 158312758 521429992 287248824 536519556 482063985 731442035 114901306 370084284 366677777 232034239 537890750 861993915 472985289 351105246 303552249 289954292 882889708 603761533 718644671 127733404 530941755 483729389 188544861 446230820 828630500 442929359 230424488 503523112 635276493 867271446 896776913 649531925 345937742 507759237 206172243 328942286 143074811 809522775 694970418 284962173 200026120 639259065 441359354 695174245 154406764 723037219 720321303 501589711 122704602 447635736 372260839 551415124 255930562 149351863 392795555 892953309 778594480 356455169 562001567 781009913 696121713 718860433 874048232 519770530 554594149 507334398 438921033 695861805 116650935 607212722 248132014 382246357 475043310 646533603 895726054 535097995 342831419 966941260 506104389 342898372 810568256 911080956 650485370 486170149 217568361 482523033 246375284 323177069 614250503 184323381 486154481 855836903 715558774 272645430 494237621 708392103 357461797 223211566 476663384 296486175 710307204 929968893 343261291 708437869 920385753 119624064 723144989 381917051 616333478 944519846 967181586 523002136 517633721 791382118 100272312 933311086 426433325 113117286 565005712 361173440 855439397 213829878 331276943 788032873 282668687 728494549 110377443 625780894 502885211 223387870 695347556 856934733 579515683 657275835 933842259 849080718 456778760 925586240 397393038 498428327 592679578 339904979 369151007 941430348 358017179 150575568 481692711 633298073 370210685 181773766 898048005 220858604 878161433 441028113 529456183 104602824 974524756 988805544 770424881 307304470 120018735 972764380 444745305 258769613 561463160 562484704 874575181 903744558 820409443 925060654 338190485 629494955 613757384 997594433 637130686 539663388 284589352 374938502 607794185 761443521 253348833 743951253 444945145 328810445 253977853 128184872 343829176 260974496 678267988 631783247 221156280 268073409 918210927 931180124 982637318 442151041 964392883 511947661 677815943 943307096 824921546 778238853 188242895 467462636 134408185 890431869 739157974 357556543 721672789 610769279 888210327 258970759 659420951 495513448 974094828 865866254 112871602 397864569 521326865 352996444 681227050 271018442 884994618 742727809 800060061 795412980 144452032 171582994 211078079 725944346 141074631 904341354 959994196 797999960 145168429 607635515 980067949 600182433 910075065 563550160 779062761 824702580 502769341 633025254 958207173 637248426 383383589 789413352 767101836 958664234 574663947 174831766 358867792 189606700 390591910 647607371 636738046 112339248 778177306 652964063 967322306 921630748 480946389 822337604 178527711 213337094 809446533 964468507 809610647 712577780 989185124 678519576 743260319 248352586 214835130 226891860 407968483 153158689 303235347 203603659 392715584 669827785 530399789 349983940 188175381 780699482 984635738 462002147 186904362 881399107 864874712 550862762 250930232 176620710 438101468 684626404 915425247 665033790 755503850 782851862 393192208 370826767 840208173 817253258 247301870 178163566 685626497 920732271 405966529 940854724 709473471 132896619 689456949 551057165 790447984 161272494 122030226 414196907 182911888 952339137 794439004 292991787 653142307 989367195 984645305 149525774 218626485 266731880 780537545 876877641 405652184 325210307 178602027 749703912 407964987 586313456 971708264 422430743 939886169 384425951 243442289 513905527 953811052 521267461 670343334 449881138 754147989 602815403 149087049 706392048 137919566 423963019 101597476 894464886 259847501 376671264 308950678 820651323 761784662 894534454 330149350 483156990 496491107 861930545 244193275 386174739 937606740 147646031 229761885 715046447 734456725 365864485 308840650 884560110 821380610 930187438 426302577 833613775 472364294 696009701 182145869 468811055 507409849 578650354 102552427 222274269 304240423 563661819 347826815 298918208 633685008 175663477 255717178 402906435 574556141 685902124 701011762 643446256 660292603 604374844 152631383 405160331 261556273 229420621 293565063 712218121 363125726 561515727 249076782 273023933 265351079 887633980 288937890 991054216 871224916 566839197 627455456 440154821 705932272 901078803 752574396 638221075 329168470 951522482 626639375 765125320 719328347 832038130 129004095 948526362 949649200 902018222 876926964 169024177 781299688 908664252 152185930 755506205 729647107 648446118 298514477 829610444 552414068 159316392 937857129 278368103 772672111 285377549 749858639 789033499 683053485 130299499 952823191 271414885 468132135 262807707 748770205 859761057 971833279 706187945 269430532 370269383 602442926 237966991 976322041 903105422 857548214 747109656 238042111 567667032 402491145 298978633 977048715 545506847 209687456 138734427 288035741 981781868 498931651 928228442 375459653 326025795 100110289 775001407 853059743 232908514 687798847 832178502 248654132 527626604 937070847 108864922 449904653 821634470 680290683 657219350 129426598 151478974 583020326 129974917 339388834 979657620 993493258 446155653 255203036 409800026 359883495 552897394 449070710 336881939 620152498 649715653 334774574 238670958 307651726 859388228 789871503 236842586 608773107 540567492 890154230 842028925 464188537 174673461 868220693 200124479 192610385 460755829 990467953 869049277 101245759 411410430 941409933 483472103 922940218 342309519 287057477 315861008 777741483 558373962 440454027 501636061 150832299 132327778 746270560 376141218 841378501 206886294 725720002 187239965 483119377 699059337 773479806 906473695 150867506 137124066 134869024 510247265 798097459 900825273 981978246 391204636 209966138 228028844 609239524 112208195 727022687 174795932 390809554 293637184 505766618 367787084 820654238 197168832 838137277 236345714 507137291 944548729 396590074 966534623 458136083 461665195 905784414 282938377 918065752 465287454 933533783 863753956 449076267 475615048 261686081 311451489 358962612 662159721 881464996 867220961 549148520 892744818 882217142 566853656 334071446 509146153 463885972 818446480 265197554 557929356 388779445 824630546 821163266 930367572 873835085 797309439 196870429 312412641 823893803 775649331 550709030 525005958 292946915 853516054 568861998 997083555 144757703 357975951 439093823 817806665 526532454 255073248 985053699 421878913 637076220 287102639 241872718 729718703 669116986 668198405 766656221 365909550 293391184 706868919 757686967 953478181 394445830 188278970 608667155 287772570 590436818 953997753 799339161 578193096 426935370 804473533 718100835 628419863 391572306 718717272 264979087 198133712 533723521 749919339 460791610 591184508 283905884 100802879 104089193 117356877 286310838 375326115 850713102 754314852 467774349 201868081 646899218 689863109 195789536 235993908 801447885 925531561 692967551 759651954 532307526 812386144 706384327 956932080 237174546 380938489 772181697 479880334 671584515 190540882 154656164 167065889 442894260 575493137 878212152 455768385 724533064 303593491 143514467 984683622 430029936 240579977 977624243 252053896 317937285 221896933 140667076 208456668 495451460 233428530 319633381 559906160 383978122 967286910 862719797 538625916 429569572 448016415 779375075 773401289 434130019 331843800 591739965 780830116 514798441 705801801 555645206 295919900 660955702 516222415 206774412 350235503 854437834 520001638 215833415 732262817 794913469 233500803 145038676 510068760 398078827 470311536 193734543 153308316 492016017 323504090 736109194 141975963 841245488 465537859 289345472 827288540 291322474 867413719 764823250 516414370 714124154 133415571 926686852 242991890 296546801 277043449 259820987 644076014 258947087 779349698 778368449 914916392 200883307 218269307 134717863 965004647 722327970 644069612 987424656 851756643 175306036 255537435 485453973 635149966 504854839 154261954 972630392 664685974 997557091 358662949 486578142 873554407 837675584 236505117 270332439 104703153 667216743 926591759 584730555 359187462 858128980 934314369 693524857 235896541 468246061 105170678 432862935 969339178 116272367 488483090 839969604 106607675 150384154 194530836 204016267 360277216 836964248 572480288 368773297 733356876 118986170 328189826 342666427 737421736 479168416 819128872 571040838 612971294 366046501 232020213 540783969 638240754 556618448 504335601 105591097 905840170 598144773 105832266 877035983 803514637 383496771 928581507 976131377 496254421 322076625 985463474 555400792 505350073 110990604 197166351 125082821 848838977 470971771 504870780 195042660 239501693 585760455 132960744 879044134 222045350 791050254 478079775 590872130 373222421 887964542 319028300 311791206 497248338 732084983 966230010 695902707 800768861 298580605 676898526 733289811 392146669 548778559 624013125 769776879 879553338 943907859 638228145 175600738 839475389 288641508 981448410 191590054 470773990 674445548 242940060 677565919 374261498 650451005 225400977 682732104 152087804 363914855 962089228 307965337 926033519 767143476 864749883 752280707 265361227 593784684 511272940 359346193 623483791 924230192 973036754 329461236 487920290 509893776 801904475 433364225 502389590 403400329 268863236 842680651 500804587 637808228 912567749 495835751 296973118 978246095 457659830 388073119 287858107 933845715 887338745 293414773 649420423 846237929 734784191 965483083 661203666 396289463 908610755 241746358 550645448 168308407 783509968 965588878 106213167 380916627 113880413 410838067 739554007 906175423 670940761 774204230 947810565 471308774 621884226 672000975 512497809 370127973 473985202 321419337 750524846 697570468 434709657 900658623 285476726 276367519 993438155 597105561 991304878 279580734 314998451 254985151 660806875 541376948 253646959 529700819 860683975 168300002 783786671 173018318 459131433 544507710 188324072 556456417 467206346 154977383 257825720 418945439 556004017 757962304 862113986 176203982 647299718 394661142 560284016 324239817 921905043 208090923 440065728 880681003 127865575 126300317 228689087 198968707 223993272 313045733 992102483 579523864 689336733 617566232 375709771 933050362 865800345 723303917 850898378 407189908 997608088 353158001 530245933 620850893 561397575 103823057 732961516 828441935 596781580 316431017 103811604 806766815 722376883 934362321 807484711 353209800 233231557 167188652 458149303 728289432 530957608 126820732 926315815 426220484 353885391 728667801 863729068 894917747 578020172 309715286 366713222 174337842 938111928 406716800 312250051 436999178 609853470 841519844 849684912 665036633 727058947 391802962 865665138 158003586 889581357 347500871 393086488 735967196 464376508 169924753 703565514 533981311 955370783 181306383 188598088 221271672 737070765 963650715 241208701 358676783 996224927 444403953 612521329 873989217 880402812 785867617 275244176 917361392 969959118 974562651 729679553 787901552 949051252 979510568 358434901 270381335 991717401 325306281 539044847 188542195 728734635 533500667 287726521 831330658 880530953 994506061 137994986 624683382 827077217 154442806 275885716 389932938 692170412 540940069 138509505 208790113 956939551 266079748 706383983 573826144 815224150 502518988 883258959 162048551 274814236 306671265 175397917 314028005 520482335 589508181 612749225 663278787 160388578 325110315 220053902 384270773 174274133 617122109 652609338 458918608 470281454 831096829 131605118 456097398 972544035 364117400 484449920 119393222 843970462 108444614 443274748 233395368 698726415 851175729 287832688 860320419 555580195 676911305 850598618 896094480 496707026 414013373 321039931 525565795 168591145 836540474 841479677 134280094 809924582 499610826 485966542 724775892 197133435 870666157 630441556 170251043 551589874 437137676 742168492 612619710 246948241 770086280 123517625 814794687 326430456 269426238 313766284 579004769 746183466 601151646 440137939 390286820 332928262 852333233 801532538 525753907 616608243 643568140 116394753 980208704 116768090 647745024 367446361 106474215 293932936 834310742 307662482 787865568 170527179 877286841 443778099 732690176 454321583 483325559 420612229 243363770 757069112 785798312 645056116 763161994 476472900 218552874 949680060 265170486 929684727 981885643 769427032 678734963 214431924 425498526 782531878 260258085 866876476 785739357 447058398 726313275 535644522 984075202 387468066 370448884 800443749 670922290 152441870 188560801 170622109 660331600 535765426 214469941 365324524 872390538 187336673 219861471 890501755 229579284 864965517 128074464 375418679 995744543 791356405 489738883 431749221 711365664 564624306 193447324 431816134 999092448 981878828 387365017 857324715 532338381 275561001 230736606 427965366 751411651 692115244 440701318 703206765 230023465 391154569 927703646 275835623 252553048 970802263 884696407 358650724 417769517 509963089 473875725 242323039 470625507 572906360 984688937 956152459 788678747 983201352 686406999 169821937 101919201 328919397 550542943 658220616 290788547 277902599 880790430 296930953 814830579 823139071 226053478 785251896 850032616 404637315 296511646 550062787 760616899 352732700 675254278 575730437 415751414 556803187 504942369 916788719 941536316 283239883 380566806 939058855 227491047 981865290 334134827 781779554 715847612 358307096 140163325 246077299 269473806 466539667 606659634 658760985 678873761 694490197 625503912 493894447 840949468 375327121 545960976 113261766 116524553 871567819 395615147 585924418 773831564 806438250 157786392 227548298 702336468 791840974 189778600 122898860 259676243 852664931 101975412 782852317 267996224 918611927 993096450 553258082 963007108 679709662 375015239 516510321 392793783 466292960 401939866 187597946 431236647 543931168 653294619 276649360 939117201 366155306 108849887 771552408 752098908 964073412 396263905 260953175 312584859 135778565 596001512 396374946 514265306 450652080 739572654 415447373 329160378 913595051 266982855 634931810 680638635 970291253 415975564 510438154 102071069 328697546 197613552 232779720 793376906 567811550 435657479 784158781 167306794 147578360 793846424 414068005 620313611 489181752 233222616 291018600 492240861 189024192 151516269 332064752 765324019 189785094 619833310 250689396 857156107 470667914 866975553 542176941 473071889 661718161 741707156 240405481 780861265 677894547 673777270 179160354 936835267 817100544 915510831 128746891 782979898 486305919 798780190 544838511 300032982 463624069 342630328 480805258 336299218 951748107 767048858 776182610 331612015 158588404 220305472 238239710 613251527 506372420 443065119 923200693 433542377 796779127 453687664 511909614 540856493 367944086 545554904 587216641 724901833 598509493 631144144 227489091 348093582 776233091 535547021 844126051 359118232 432324933 285152065 803125116 192015322 104189417 193179120 362221703 543864893 371964253 707087105 667436282 637707847 624310069 365669110 153903259 453726883 438099892 398913414 465792549 944328132 140670272 524753032 307738015 901303507 196389052 791674720 487864241 681082322 984224736 652261373 904310517 165028880 460501325 674912133 952814152 997223756 635110812 928035121 457599911 821944737 907332458 676292249 232560364 996479060 348048194 565973332 311555737 439094561 326282347 840730755 772047033 822704093 716648930 786884895 831411197 318691599 906675556 734477914 735554320 132314212 733560500 929967409 966001010 279401568 135279580 862055059 256923892 223814499 889810257 680472265 300187322 884384754 361125447 125615956 126273086 216796060 361311625 660745279 933981200 807078725 714135583 163469370 612130215 668278203 797937658 577549981 226114097 697450660 625623314 791355253 827270913 447677928 817423713 464853236 565811256 504310910 803519419 340595039 627327864 750177372 630772827 507614523 505892966 139534854 890310143 326722976 721836958 109429029 575391652 142697720 859959886 810215163 875868351 280126602 755016559 996978790 828041584 653468733 267472697 836333440 860067344 570025133 244805804 851449336 554805191 228907307 706596946 287739450 786528171 513501084 312000535 585650470 753485305 722224857 660901524 118268979 473189467 435971292 646394188 144605275 159998502 366897200 437257462 906772704 287162880 507907572 113522224 991230885 290059603 526468778 258401808 113909072 172762647 526149377 421054235 268791054 903642737 109116470 745842219 140368489 994722112 804852930 580197698 969752170 861459893 506984258 361457160 372164244 410213656 954457202 750467747 897533804 118080697 481838182 980029699 962558141 906826115 533646989 798226296 284856489 929797157 948710940 845666878 868929730 832559208 414178781 937141983 996552800 305456963 991384551 918324428 410402904 890012748 420242874 670980892 911755125 455682722 231955029 615816253 620203323 750279054 744120961 961036793 476274267 179447718 548048654 573397414 111508808 385857218 873148075 563003514 315553302 241469370 583041577 326981658 183648817 467151663 364761784 551579960 523492757 944234067 493495137 114363155 514733862 734871389 148516878 287736975 733633253 749172997 164176512 644495790 960050864 712872808 119190675 595605879 366435809 627917302 347032591 581250292 147781490 580220283 386105735 936060152 905211174 815672597 169612285 346336112 855225280 536838447 926727158 151648034 980919653 605433546 758369352 562572703 585845580 607142866 639929550 292822646 376784459 902174770 101052217 254684870 843472236 888382396 930889133 576543236 767210066 158883419 265372830 631794066 360732561 780768903 511107669 939854308 756582137 158415164 869444669 704125934 374735318 298916284 998749402 784450982 503203231 470826164 856006653 947269711 622005810 628153541 706405342 805537338 411605395 640923077 647371618 185061244 339937876 722256848 173626418 363379455 977578874 242895089 473127877 544382099 504597868 568281402 953393144 854705724 459863481 530126565 612121773 294742976 789713838 506674925 635276747 196335525 338504059 226448350 345720627 349339965 332548578 773218548 679113812 992937586 820951996 846815096 289784676 320536545 230271511 514966870 258438778 863216126 612144372 125110045 948545854 784794257 646991608 279063261 395039956 180978593 359620420 868241006 161385047 622186377 133942147 191544792 457616827 523235733 556956065 538412394 466489855 274160320 596650192 195919653 761435595 524372271 126014920 511131476 827703534 676608267 958609701 297203714 131624328 686708166 814877937 840026364 584002536 332025385 853711764 534746747 162242981 447259526 629172055 202146130 253586083 347646340 975240680 634649982 243663488 316893285 777697021 178237163 702270183 994743703 290759332 887836522 705565427 340209942 687156412 626962017 402033762 694700393 987268282 799992451 824498279 999559853 167163062 195012277 228567937 179684285 799255510 613374935 268352408 761272383 725070953 143569463 142703853 936935535 271999618 646201395 424987400 263120940 187089074 454566480 933563819 228885049 978771874 814791349 331352222 431188192 367115040 299358851 260578787 250952682 538287099 819476024 637525915 845556387 184167974 284311568 450928166 184508092 933772004 477998779 889737798 400679919 867347538 522106855 709703263 725548682 559753401 706404592 561015846 640973560 480497956 727608693 208966870 776924210 967002201 361132598 283497498 776495834 658109171 513201643 758476246 610473906 239755560 273033458 874253455 746485649 101931949 656649533 946274153 165527680 366889714 587673412 848361768 773238313 247869563 413215575 306449319 254027689 674760571 718963146 416441392 719301355 222776022 711761868 663787674 800793239 507876765 918684410 658182679 246805929 317123647 552689958 651897294 188459071 739017842 202845689 254434736 558541990 164775579 493183689 581747696 225794483 553220670 521471389 168239443 860303579 998143410 869436282 136349333 985349176 710309965 376324317 734952789 347319723 365980998 212561884 357468439 799762774 163069464 437964404 690912662 713641605 478740858 853284612 274045667 945906887 339758753 806401335 857678085 541602850 196562734 948044838 282849957 454200922 403729007 718472687 490586076 272402281 737208984 162758004 780037617 257765414 562809091 833762136 242632905 813555845 417269406 681635557 289925380 715101767 329703709 719887603 932644484 784606189 168672570 473527976 747884751 722818918 429104510 165674956 353671974 276473938 200454429 263794920 667619533 896153906 494120568 411493966 474467811 905458392 921687873 980162263 995799109 954519797 620287416 618814385 783329319 297259922 377472376 309834254 879581436 501517388 373640957 710000426 669927482 198753965 868165267 461357217 444660827 541327457 225599743 723752940 686442973 240024288 700800267 943788354 898538218 866186913 586626270 100450795 764654072 662337593 627704645 919491115 757697182 149277379 996041640 576272497 888680023 616183289 790060800 636066921 565433998 534569272 785430140 256857005 731200784 700602077 787198247 996831422 814482792 941549698 735401455 484918566 280997244 205332464 777672370 870761238 328730718 301157676 254315556 589495608 971311771 970991172 453639767 501291953 811329632 893692998 666363005 380373055 909653867 602704300 548322331 981144255 711453735 366185567 749373533 687225415 623987812 110365176 264943653 723942105 316927343 292125996 819937974 233163580 259775601 971876636 930888508 970230338 746881486 530320410 810666989 657348063 646443212 784344964 166095723 777406005 151968239 508208242 525139135 803371844 497789374 685732336 437292980 412797250 729132551 477820460 283552344 369524125 978046758 253299688 384850263 716225683 608979343 902013570 430492175 760568161 494938786 597079590 908410256 360525727 819604280 747828600 956290724 863411028 822071448 927159597 920403076 444813972 496937416 337422475 873909279 927385948 451860738 483555840 920077043 235330063 593948682 151894068 609618812 943706425 774777859 547414268 247939116 879103973 782249102 850429359 265722957 964479087 999309572 191996087 611730860 804877171 929325440 137063957 527150041 886280673 365344784 514847710 956985728 393759968 285087157 279671578 584153879 163743778 154925329 744237466 468887557 778322200 409755717 205922200 558795385 334297726 908603348 352218669 542144035 163168719 455918023 700545088 855095655 226665693 830985992 373814431 104968285 863447619 266675760 955205484 995917387 346584590 155503913 629804219 457921678 913809935 386778335 797032522 154498543 812122411 874869591 612096010 828857710 766078488 291920083 634486231 357491188 781383054 161741167 523860266 794750186 994063324 728704609 440698098 355185277 143448808 758671001 742892879 905881182 899299484 380018574 212191981 156250583 920256291 742494601 531360677 759608962 689647641 131972511 268962601 757456597 260869832 340615145 110740915 662699521 256730408 787518767 229467290 982525222 337443158 746180321 114648896 683897630 834614557 733826627 922146890 678051909 856807804 911652139 785283539 639153254 401711782 571294946 332405771 662930642 916805178 338628670 937120814 332533728 607958826 758300200 606134153 382637989 898470222 535254298 145232061 816471476 437675339 365088891 847529084 139055087 959560231 711405355 612269536 522418694 947565570 327021805 929275647 558073926 242623855 484666632 274206084 856879242 854539768 843650394 279755305 843579715 792241642 795426180 114640793 592034822 250849507 454598203 333543805 387044656 393385964 958360578 361053781 832738908 112349948 848344173 324969971 226591844 793434093 607328262 718826908 787992454 286900282 741061107 911967669 425689826 188705386 439033870 655095839 365860019 680111801 989492857 513599941 578056993 450931186 239467711 431465436 797476456 428342570 971748067 416790302 896393742 336068581 487725428 737411800 490075015 987882212 831913773 694052978 954912215 991200334 709012463 388855593 538004083 459373831 448677935 493039709 682395517 319086010 477296818 766482098 588799141 438987791 865283812 445930165 131410567 459722083 551137904 147157878 226481792 840774092 551941015 419571313 914325565 946341972 639667900 486441487 524762142 979340616 624021096 816786149 305489613 150080069 760676423 562621374 355523700 810355366 990670684 982762766 776764330 673153046 991228265 675812186 237341210 890478718 606339179 408560344 885224431 900575478 671860889 500520977 997090454 647721448 953411973 315212533 967918153 124752525 836252939 229505307 943827201 421823483 661773759 636231607 659749974 539537266 881389865 108437819 671952941 194320839 153902637 834345312 528291495 205230806 533817213 184029098 441071320 193984463 329860464 957227348 791526896 965288436 760335297 251272449 772914586 480798790 412655267 248847803 267671185 763782520 790038393 835182846 407306999 208734583 804618365 680339574 821721005 675130021 492776707 566759278 464954906 783204328 683580161 512333982 723195597 951642845 775761150 287761662 444613900 318737359 112605341 183728269 645224992 139522869 786949763 843205801 112460770 473426545 998251838 496243436 735544721 735254916 115385116 429971492 971130529 167917262 950079357 294329142 353698399 926739615 892990496 214629150 748903635 231409220 481034030 270982157 190214145 596169349 242151418 429268612 109090932 916845123 389989156 471970163 413575575 829348850 499357119 235827482 288281141 703096909 845166881 406950570 954151491 225984062 450533283 805730818 791416478 166180987 248447706 885609694 321403623 263328605 608001492 828002355 685633988 147728018 957783823 276153714 362279141 175891162 538419836 811710353 358444818 667913960 884154656 579462616 189591957 811524467 290900629 979107761 352873327 791673330 838047071 198807346 970735142 390300935 980080975 672268943 691792828 280752172 309280068 756511079 755163063 427043983 291184542 146543002 591513771 438321329 641483307 184794676 622044338 877669150 512160177 114590314 288306982 304419445 625958842 834078044 884007862 139082589 612308282 566451265 874930545 676749191 908288402 551867243 437023355 453883572 230694389 607326778 181689434 119724574 968415404 643822914 607885743 287314450 904453021 374728636 223434338 590981280 928504925 633187391 173698279 381594862 908544810 339671853 216527726 605553646 655124640 981418374 289475700 787780570 244425506 248606463 847127221 506465686 179349926 365671443 487316308 403512122 188204326 267378192 837553183 854728348 815331210 765420338 953849127 500204852 493409385 150156082 980822577 265405735 325840387 629940917 444677086 301561734 444966110 577572420 137788107 693125980 298413273 262647059 956606682 245009486 546662947 682329737 356073532 304734733 809941697 362139515 686027524 826577132 456086573 222865531 104517920 361960167 902898983 164109779 225720270 712114309 737457142 974814513 829614988 208860523 598679875 691917267 613286177 269525788 490037255 527691199 793534385 452951566 403901829 175751336 210973351 109325455 516210446 530022451 900139008 622242369 761470199 915300556 246482897 643850782 345815466 543010519 172559474 140480387 100630226 676763237 140506015 350152622 514159752 669118896 550012942 976721971 287121656 361282269 484423790 136918234 616201444 589240576 977365885 840468102 466450861 829313757 732979849 504173016 172162677 807569305 368369414 807053769 704373308 548702271 197866149 652448495 285321960 690815535 520804934 602844024 964519649 890507653 676109582 577789514 212122787 265953246 436019449 534144057 789805975 189480703 140088054 291380623 349262665 429644138 898734179 962489287 319719431 592605961 969006012 353400586 537142145 913822255 580020593 776573205 762680371 662110261 910951918 676452812 826446164 201539757 711917142 615529594 868635805 762635170 911553164 256137848 442548568 530578183 344773803 425824980 511646648 514374895 865499660 129183743 620546035 934059286 999598918 856931921 925578030 100889856 777628068 941857625 415665881 630013138 888611450 281214996 130861475 364971782 934882389 699460178 437471558 505341161 749545882 765509625 667177071 483027776 265650530 846099806 874726335 622100238 785995507 311800201 575283522 930601627 958898364 147525472 685129241 462130426 637531622 683908511 397145595 884177999 924462051 396768518 341642552 622073201 622283521 594538081 401665387 597633438 863511462 795323902 530358971 981692186 855712886 225116802 800073018 834778124 326715316 480164412 427007156 607620476 215887058 473263698 918935871 925722827 711922389 292889189 788275276 758452472 349190414 649546191 927361037 131824209 700843265 273842681 790865046 739319486 302602688 941615943 917893003 615204086 450947481 215057154 431947400 392813377 527814128 708898460 461275650 456963572 988479108 759493574 224326294 990753037 474249937 638644993 794236631 399330175 846946165 240998022 703068495 125902057 111014780 221516640 404233026 530246303 866341771 134441471 684316267 822533304 126704938 860554323 145180266 119663662 337563669 657111367 646865837 117231996 419557638 153231458 284579350 738217774 732603990 462904795 783419172 245455690 690830493 409211836 677981364 605807895 771470447 565653495 347623321 499292692 137579868 421555683 147198747 411969693 471748313 194081636 691322544 417018516 692333347 638970339 871066858 227802252 986397926 368174804 786471573 363811055 490555409 906925730 849895590 717111369 495146291 787394852 885092463 193871899 436331501 322377053 225870672 308738378 571268755 724925038 801763742 819908528 439159897 808696611 665013045 242574136 383737171 762749250 250712065 214429067 166088267 341761137 343276371 823110340 156181149 824342094 967816711 364974193 746550646 820078856 591581393 231155418 364992977 901313828 994641589 826964605 756299279 891196790 265231395 689539082 972564712 470699199 813440368 766896994 675891141 859446174 512587405 985284356 462485647 813606059 391444093 288613124 158387141 713933442 109872406 610521109 750457480 309027455 991433657 801249027 365048681 675767005 431778955 563302206 304582126 164309058 526810906 673772762 733403212 944093208 635939089 654572923 927391256 137147347 937818951 729048052 121570607 996761173 831502786 278954435 931703356 614341062 230882050 929752877 623490328 950158402 408314726 695841930 838661521 313915661 137923946 877016218 854472514 649528977 648509865 748309320 199115306 506111602 401889058 239144117 726704983 837986632 985893737 791080405 613374633 559614069 441419257 613777800 478283588 559333315 446007202 328270879 822125817 713352670 696525803 727880741 706642345 111973030 773418235 181960878 518479962 257585831 101651918 230680928 715471569 650296843 505883374 766912514 738119440 884086829 633455020 890844380 231659908 770853850 396018380 928546746 658252202 189074135 115214314 614601250 931239983 982993224 951101131 739474488 442746301 730389723 396843008 863204680 992845394 526805075 334994667 430048753 428343295 985259833 729496571 655089520 256262756 588742844 181856889 821167811 595304332 742616292 670577889 992983519 721664357 635570818 490106725 743858018 712115203 129949180 231097216 217738254 765779531 577583543 244312431 849722016 708385574 500094296 315460172 467914178 417247114 172223688 520329960 270137486 750497997 696765256 278982542 153344798 262901589 336162162 531018180 525969340 649659969 205527878 535585232 638868214 539079061 470077608 526871000 440144093 897915835 273592433 579794523 379024956 686530287 857686461 483136615 148436159 471388305 296768609 469174061 137838957 337498266 342767188 358061204 821988425 659176091 914086716 554753776 692971768 792114716 443496315 952302768 669221258 161007569 893636612 854196616 420482833 364317765 250002885 109340667 375895765 242622623 857438790 294005458 204054116 773572457 535043830 572144127 309421728 980214790 748824652 400241401 946959725 480195164 573352341 862047714 290922027 760098859 869793392 898802114 466416182 127575981 335893771 118780732 598672275 528326697 641988956 124313931 210189074 762679228 115145209 322753051 108229330 880432273 277156155 451014288 664622012 406978975 167037840 548438162 392811032 367322875 701157735 104920270 236181532 292380291 503447092 393739121 889511864 825072798 371935301 811116601 934319162 253433853 329455159 887259795 120968834 268060826 513097137 486488648 887944422 839063974 519458156 557847613 421177988 541285681 973713571 126474667 776590564 707908656 391373663 842772683 114786700 766295462 275339380 814491827 720533625 345622727 953085124 363522254 291151789 891536434 314081574 622813103 423245554 217898381 239689450 693569394 446504469 271618733 803391799 884126627 760608426 710795564 656428557 746378890 749551822 583549809 752843462 841213328 873318047 420130579 443914979 787419264 698751084 514471148 800968908 597113626 987182498 548082813 161148818 972930966 352853018 864681837 933704119 660598087 233280696 418036595 582811633 397043329 587746738 716253995 359111345 192967465 767827779 178261200 427191604 140318961 756552709 446102174 462493238 289401986 769902998 946810766 872509554 439777954 929125229 462284508 182101582 534158040 628244171 347766855 912159791 333047362 234031221 680470426 417909422 682291599 159819253 928856741 324809978 199864313 854485732 371413568 231224954 919971593 532741398 418213234 579150477 724861863 398622204 644159746 967297932 922214015 676948648 738648666 523802785 882833728 565011122 916607303 932430352 394524355 888021275 782575267 182249581 885378237 942089463 462487536 973090192 142493596 182134214 352425825 861509806 708546104 204865787 967354768 392901314 694017843 895029893 545923741 392320933 670084823 248422889 623741122 403146454 820941329 984211435 103920897 479849142 408056785 256661362 284591480 390938020 315660490 731870009 426994918 745093127 475688157 588811944 874067079 986842673 143931290 803018373 374495079 687799014 757584530 792961920 860783284 678507778 805977438 746073637 890256552 236879206 399761367 929517438 784183486 275714708 801230778 153785708 824535799 232205271 527925275 839836297 269338325 633117994 446476288 374032625 300261594 215124934 872974537 626707246 755741509 380940778 708607079 910610385 579114775 839232052 597305718 294199108 125601848 168128338 539645798 810849416 195357266 870397738 783733121 184616907 921391685 400659949 424883317 263839975 531951267 537946034 428557282 676334166 567621357 322204820 784173924 295728407 543697484 886423318 478879084 137876519 948372794 977559878 278369907 361052438 426593078 830709788 817866533 655683242 161187601 751376924 874209878 117214400 329851181 932999725 817990884 711085531 978694700 515350669 794052414 921959867 262387918 437472599 659348195 200953525 651937253 742903452 741975336 368779169 334255749 827877680 214188430 884351783 296376992 338632700 107297103 484884460 568460271 736066966 904528859 604942892 986172620 945287598 893524617 719267020 772609450 221709494 517395832 685751363 732634584 782629433 670076775 347289324 528440448 488496288 498045797 924516234 337306260 348789633 576236620 293005348 240202655 174777520 399152392 203199382 381845855 259237521 586048874 328237549 643280244 625172682 917945051 636691774 554929966 954575048 370350802 339887993 236318899 749929203 234919203 553537302 226823454 345182122 698224409 888080554 263499140 149720775 106638575 925398020 775289894 249819572 989853311 447392728 321465370 758482446 352328211 705605986 178447894 161210793 585303462 205348294 402505864 591566728 278049085 982788749 221085902 398863972 756603747 647182819 763663014 491243556 787691093 597216717 689552693 208721042 271470329 413551218 929415918 796596456 828627913 685824206 983561538 225703920 277604252 839554802 746532327 790223948 943457079 841436392 214643170 358617269 918893413 293632101 961622830 501626348 172260063 943989890 879995218 847758591 885443799 314498609 299040137 494605705 624333663 589989774 593916551 915005099 318908589 293450926 708121586 976762614 707309748 653231458 821372701 890908928 509775446 146762010 390145993 476503014 869799858 837478123 843508212 374624820 376825910 530765653 875705379 786901556 788597389 806028591 797750706 798426548 904962663 179390767 114913275 828590857 335462924 884266844 761148952 263006383 708589101 736038523 476817437 152866695 762467045 732372198 225680852 973904528 141826070 630524559 885781600 127229730 133450915 904162264 910157784 542275581 491074071 153951551 877740218 155298410 492485458 119039693 914499890 519253943 348453639 332356181 643194569 706298187 147388044 666899846 180036530 991170045 368880431 694812968 663914644 410334420 829231182 559019957 331183819 976406553 205422717 295474289 503236509 145231105 849771460 841710449 537493661 618606250 823652305 352432634 730121747 144255738 763000183 762863612 194411064 346357515 517321968 435466168 675328485 155117398 566362188 758479969 684266169 175418181 804924856 230828454 185067261 874676104 146042392 192899521 842502314 983170470 197525684 733417514 156163959 830084205 892228927 207697088 612654168 712162166 242500454 484248097 752184339 546677127 178536550 103961948 314994959 718753643 906410091 973493023 109877486 940904399 639707892 901896613 802483178 315993527 712967593 985398877 739822177 126567668 513991390 133654801 486411427 139086235 137297322 980637501 684246255 637355663 543846503 208447638 791691221 747139924 296362389 821813736 580937260 616058757 946919364 370859089 634169755 843471716 708618219 694674648 390211867 816791294 560909304 455023011 995305105 685064201 894156825 104806305 927072392 395096494 708840287 673822080 275060810 846251597 643643004 296826868 739871441 170889493 400478793 396447676 417418685 837021558 439894168 367475522 324209382 804765005 856146613 969548968 642352936 406662661 510382739 836605505 785467646 968318633 570272993 813024240 349194397 902022069 387801221 252064572 648740527 863602737 271386197 201224284 493507189 680126050 812178250 872789217 952453850 238116970 440213476 685801640 407888223 881291090 493471939 437871610 755509996 228922030 229636333 252701394 598504334 239914876 864099690 392613672 365044755 226567546 103834662 748293433 262696227 205425317 606503347 460820418 706204336 810597234 220585223 358179500 883092809 914522205 180049256 235360787 181738549 378399117 120788542 343406650 643116180 336314194 901572839 906228844 145041842 307419625 609266565 522348378 905103325 515062063 183253757 911285698 193083675 298543259 454861364 377749403 899600595 731051336 559800657 346668183 740411731 609367565 497518609 491944141 922365853 959891432 636549591 620986202 933696159 465631816 571402972 840465929 765303732 223322725 540254952 956877917 320059194 610127276 108621364 888576143 999623733 261275146 717918238 716302097 975898717 455171129 347195519 656652753 402344546 547784594 431838773 856367652 666711230 116944849 824537341 903828609 339552065 749156619 851187232 464716274 503412478 590845032 844490198 681269262 827103974 362862863 660090687 594975943 550237109 553934688 590172330 704408553 778735047 804815085 778178931 909515010 466869467 153892925 782385233 910602471 933108012 528259140 722865115 945132339 906004642 307458865 657392362 815941150 246556786 717085217 432771615 562992094 598671043 527201274 476129971 303930447 618208167 640893952 262624758 505704922 583869548 381136677 610836873 469067279 647514799 816016265 460410077 699646562 716628601 822356395 266908223 449931771 401211078 827485322 132383782 841671692 910714640 885165326 914155487 664871658 898731796 775230850 723632128 251751696 346788063 930070628 862536472 974665024 694307714 158783661 545585753 341108959 715485468 777982204 461553109 766685372 914179772 416842210 402895355 843726829 942275465 536919719 162433479 477644218 484805231 311928557 913369629 951468650 914865732 392565398 761852340 946725307 566107158 230088132 388274660 628503585 702370618 183001449 748110902 536199781 559389605 303236983 998748714 255232256 454620882 590665915 485673730 144054478 437020177 601081418 284939425 179345007 879465248 905515359 378542461 837935456 886188687 259846295 776002866 674526611 350812143 902099587 953547332 658855249 280714969 442586757 195955293 416161001 363014457 238882797 442163827 338105180 357568075 104455443 148420470 283645429 314668852 722920618 344153327 717939615 101655054 733084833 249538159 348988407 916421043 622470865 813651575 783418768 385694728 172236793 388003244 135434556 366744844 538639140 863347459 865852804 442323931 355485998 157385746 712557183 403805129 197735388 674770667 755734841 850696741 261497956 890432550 455698145 267002317 671790249 684718250 662442901 133463726 558201033 708725450 607479473 841716538 356477487 680684145 279078666 499662077 719196689 947342681 380911123 513151128 613442457 911143677 721498728 361179277 956698953 956531081 995367026 829491929 525742350 464369510 643066480 241599063 959729478 635829060 343400297 691042313 888414007 981441487 498942015 469459084 288693783 825532876 876161630 737200681 379421724 339928320 195862554 446766322 973755136 106639915 673815043 985557238 722586020 422428832 646398208 595036665 649425890 789216513 945732566 573688001 980712238 591369755 337646339 213697013 560127169 592706785 616313999 296981987 283531003 339590379 950503169 401264695 981325936 291418453 354265950 758354310 289610317 144390986 195229711 351733559 958303426 122189495 498099606 380342798 112319607 452634777 840216114 514033794 169735221 343073499 281801505 842081943 250137551 114220277 317736600 420115636 444647115 171192516 709462520 717319056 395674787 457710025 293037777 734644481 486424001 464034992 380407898 171782963 395656827 419950907 838289972 909294145 169843615 695455409 212112536 476642049 855787002 287239404 228290015 271850185 101963793 263588288 222264963 468344379 855701198 775968842 807609215 116377654 240831499 604818575 539063683 483459706 679202192 731645263 462043382 474742347 969177046 162511486 718341562 899141991 692034567 808057605 150149818 560454591 170609456 512760881 434522693 319699506 439337761 418431697 740592698 926764324 899429212 174381734 823825640 468884877 442110982 206335212 342480539 246376674 358589815 945784130 854514948 464546284 720159913 537580636 437886212 806468925 506095978 879232201 480949240 307334130 512694865 853572239 187586836 970346893 790429668 429798199 346467126 505426212 879160200 963492866 374967833 658179876 700655857 149493114 941981052 986315425 109524138 915550115 151296650 442497858 548555097 187156445 176635322 585525430 453029716 984909565 605246879 249572383 579148050 184457246 708585287 880352683 615582347 753324922 489500235 255653235 816622636 706734693 343451378 999056426 795948350 216979461 220283804 758966480 372119397 449484304 306475178 505946525 471359833 977023753 564307335 686455021 361373648 929415849 297699345 921030784 461047995 265525248 898867502 328932323 569838463 863614616 984901642 384664948 308335144 501316243 672403869 643150209 549064456 212027663 511784615 816250551 767966458 122230747 642931564 292696521 733812000 879451190 713901965 595697866 837122847 499053082 609846462 141508908 700579674 425165490 469701312 978150098 810426782 235783027 920734879 995881526 743728344 114233016 590432389 790656251 599427941 139929607 404560406 524575255 212492663 685448428 756142107 943653185 334432302 866191160 980131603 116631069 454691606 714236705 181025279 968714519 498134141 824966132 879167126 933884028 905568655 854162339 578776820 415920384 796793419 940977137 613745675 817527614 308838497 943277018 542003446 852008434 149107787 977691025 815469411 331094727 574067117 768307978 112055041 854498775 222592422 619097413 484169290 114896179 237536580 809147012 157163853 368267207 788222849 553676475 628004823 681156770 257553581 292841094 151319631 699001841 172799464 713980586 232015826 647675655 677658861 510998277 236700597 109668075 666280424 632317392 164896741 228880904 849815299 333485625 300537915 111693859 281329119 421236393 839762324 967212096 467898055 655809685 458904932 495067492 421031118 611111192 664996747 529381437 127658766 296755561 174146500 754779635 716270589 583798066 378069579 770029720 886770490 595319916 441256866 837099094 610975728 117032845 277975067 478033030 756319090 987736604 713513441 772254241 191181332 853177915 969137459 799922195 763653553 742113911 295309146 547976729 460422117 816131777 454348024 545900005 469357345 758834595 216061556 374333069 393116505 507954887 601865244 554366761 724074943 289146186 965014247 653590142 401272031 372071722 890971085 633635930 984586136 110306227 739346745 168255531 415804285 519079296 912168152 441902258 214719641 178975483 890934727 161835555 442237858 339995328 376809284 933582800 520345494 253418533 813994725 441996134 192906923 333377824 723612350 209831016 677786795 468299655 618011752 238108401 475527326 861786568 306544301 797270657 607922146 530378727 419975395 113548532 449973841 354147931 865200351 637982772 436812542 172720111 152551231 201254457 896658309 447361821 579638119 862796862 389220988 832920086 165849764 140633146 454928506 168696322 747546117 681818456 713263874 109687940 726963336 592207834 283002901 129413281 105011524 460712458 656251145 229259891 428350070 623967868 184941716 340043475 328993033 511093463 563488721 334372597 921633782 615442743 912598573 617449848 618548882 683645771 588379395 296298071 932090213 693919746 425515676 412172576 861482429 695555165 417415957 638760653 713826179 798451121 152230322 948857307 925218079 440065110 625090845 812066953 132598142 173171889 436757890 365521508 558435141 729565495 697627301 444252922 498814266 399524661 881024554 323825662 413433097 161490821 699736073 273652037 599216892 388717513 455391217 858128627 472302533 678971058 684397873 941440877 326150495 271296271 409275782 511234430 173424611 763173865 578966080 321079722 758715630 923742460 408073010 830567748 222452893 964969530 330535562 799348396 350255471 947367528 570141795 755908325 801299884 203939573 626650136 618002812 435987420 426694148 515909688 404296718 462491826 964015745 851532162 177833042 249773721 989207324 518089537 550667697 135200292 534781769 914264070 355900826 901604542 693915996 530832698 996150573 646792657 970685902 371399159 489876515 389839768 278018279 574569573 810403548 265907612 755180141 582055478 163099562 975821997 662522445 877469744 158695284 509323866 558756262 593865045 582609090 891498258 455955773 923207561 912598735 978173837 721664413 228898802 663222682 224617811 957561784 894752351 974459665 156452446 687037907 533813677 946208225 131286514 651401282 434721047 724775625 798491553 773468378 311767872 327643447 758750508 393107121 871401331 633361076 765038178 667720712 374084143 573611579 273134715 376545754 642905245 528109887 499881904 900310441 894128644 182877523 246536168 738553740 354710423 444532636 157246566 395424663 184163137 264377450 519187927 152392876 668124714 414900867 331325165 418805443 946561317 351761279 581621210 217915472 572684486 514793634 604363788 366274182 288227254 384813784 835934523 756498945 393946922 210852403 538307347 904072829 500160240 576386141 250452251 670415001 893349128 726192990 217395712 739755090 159273017 276965349 614077250 687214070 608585989 244117893 154156957 880824135 620791818 275993577 298960441 189422433 320749132 760441927 474051883 760497823 812845558 846627912 577649351 709976848 260778578 798794635 475159462 616969488 485326780 900549132 167992962 650677919 384276405 623594808 726959929 682858958 750367115 831691446 404436866 853133193 726240689 903143589 494368196 988598137 535741716 981321041 907307202 131178714 108429145 348569103 838021659 777111782 191899280 863433341 162722661 836934014 477638019 840735401 902220927 745271859 727435166 180563790 192510057 525065457 980655892 146832772 196904523 431850505 668392636 230998563 720105978 447678525 679159711 672189325 124868870 423358167 924363574 821234202 302258379 144862841 416657721 928619024 192489747 387676430 342357180 493535441 828426652 398289554 460517774 828336177 230863320 689972123 624097084 649112626 545826692 647986959 563660162 982274414 907265043 729042226 925322029 741566447 284200990 434034477 276418703 126389867 113987100 678700375 399875772 724153255 416683234 451611473 337547333 316824277 488984376 364389407 975971771 856862634 687643403 874152086 935018536 790421679 973841587 456355269 694967322 306660324 432138571 440353440 770972968 822234699 625617794 201646297 807165808 978088003 432282137 285932069 626571393 570477856 641152318 385745589 221708958 820814403 751779353 251399385 714943536 164425367 556408864 461647484 172404360 725816348 622181899 166432977 636913250 319530453 890864238 461767329 957391534 332302233 147399850 923008457 878991545 356264843 606397631 327973717 159204031 420570152 451553419 942630292 918571900 363140990 136691827 441527440 224697040 906455449 208353061 570128729 183706112 473758958 805504343 871117383 574534689 242684100 553461560 262929730 731891360 536368612 274694293 344738553 399551364 535897266 780896345 820187178 210372287 809412415 358215661 284758048 418665396 471743965 945772498 619204368 514439378 869549151 834322343 212441390 876061286 680545752 211263284 309769314 422329147 455685405 921443224 914089289 704701642 527488942 338484280 681026622 434674346 769164682 488555430 853823367 652658901 532861702 598265331 872090185 619364406 866361420 941974477 234687950 996827361 927070286 895684538 509298671 615808438 628350940 123012811 368868118 545411368 851234338 780614224 333054525 926348072 395277864 924100614 708990764 343712194 552763176 382403660 433679442 145858944 350974615 297177895 148559484 717604863 227700899 284156149 999183934 287710793 469081339 301432371 934195488 122586388 683302680 319348286 892660465 534184756 470873204 113371522 676179447 194203908 876282413 903494455 434478666 340380003 303014547 303287133 112964292 936567831 906130865 787201809 175870653 515977658 364157082 554603801 357662729 219677239 651196454 944654611 508916132 369647955 962999412 370181435 776420513 326137462 358892207 575209267 678980216 893450694 936543296 509290362 449941456 709688838 626324591 747055280 615753181 303989568 212664940 854583026 675386127 765714538 999107949 421996053 523675732 246287300 885826869 551156891 373052076 958094834 646315592 128987035 852705295 916900062 935737062 469637833 330774620 325882473 121954965 811911547 876266737 719148680 424285704 913113693 800002018 382024330 571644169 895325646 114541486 443118171 155744242 322358197 303127475 262151332 988220524 881054932 382488854 901676689 707793365 608935571 916530491 745977172 124326608 382720638 123316933 359356727 361003988 991682081 967676057 243131724 699785726 784989159 365332637 568528049 968408881 941473925 455847053 809506811 707029412 519274312 241931707 174386095 318312181 913097807 655537582 256648065 768734268 639356170 271947669 352542579 547987558 540848941 724947125 979659484 286762943 246582221 444427055 491285295 337307163 924467890 727206857 363499369 752568747 361311434 722426199 475637119 472902889 742803999 353327420 753975661 266412030 141165988 390591785 998101167 708815365 772548202 438421264 504749515 677920078 971444078 137060007 733440639 516143798 977508635 504435048 309307758 264539135 556254980 498643493 832227185 560516648 445953589 282208063 963948523 430563464 246189241 551077471 943763383 471501874 679523391 216200694 785955498 907866056 463912949 663379356 719659826 621875023 577709118 441561853 272119084 336455556 823665039 937073969 165933604 352668519 459914424 597720799 207031160 983253057 500010314 218172469 222926190 732727738 883460035 468576558 434651270 643608333 527455242 454331000 345159140 174325319 129249911 441754990 855607900 308841718 269557060 930344045 243658862 454976544 150787965 793639621 785908997 235766794 883047220 965943816 616516024 149055061 209084901 904712552 763863195 889958251 952253696 315217612 856754809 858887254 900168463 220819047 137432582 768982999 936219704 318543034 665432809 145416332 964608026 298175100 618469082 530207765 632697543 709565788 120908925 259060457 854744833 154011452 290257144 489944172 270393131 373397163 426396486 513440469 427982784 353639812 708273266 788197859 721118494 753618752 401631807 916873919 483394760 825611082 851690805 198503110 733966944 533286308 535848484 463754784 825446955 959390337 844385097 325857228 866645064 257207390 918485774 640141268 732759726 481901669 551914011 166100324 147242303 214771402 980690335 117009568 635090898 670865609 339202522 520208815 483913199 423065414 925590121 318069965 792305546 196132812 223125555 482437184 282273491 119715395 512219973 254576005 370730942 793577812 431981541 283864389 132642515 110746204 380738849 618761302 320455082 516636389 558755705 403712013 315897918 796141358 592458625 951065749 374124715 809386837 725547660 639185581 682387316 616594049 644306853 791813403 455154788 720944702 344537774 323797147 435286638 874155141 121105932 611701650 248756503 879780802 513768599 364008610 296433925 821189715 855528051 295931691 327248700 420046787 167296571 610475354 725563757 301746696 424228779 436904025 218138320 634947129 571393862 462767990 572550477 516346843 356387188 646319023 487906704 538350710 643339393 658032550 582754532 322355785 426360288 592803698 276207077 277761100 811321313 574609152 378949460 245630725 532346953 483215687 478046273 114064096 544218413 207636963 230584638 163457397 742940359 937238045 330389754 604936350 948072537 954644164 302085687 424572014 144297967 944644643 210777485 853875197 134812152 460041553 774602343 760803209 729207267 527363433 984409304 142339177 767826368 302638612 525317438 187150685 687964183 889526716 710041844 945631398 706095876 973521251 284938555 926982931 685280196 842012670 213813423 761814365 557016579 964841590 326042555 623492840 241149902 954344137 320460754 699079092 322437211 361471783 662859286 535034530 645960303 121274626 264162281 486634441 294022660 122754844 424150526 621500769 195453450 558998914 714060937 488243927 383434186 761320330 788034014 670561748 407246054 777076464 443169089 103524507 264195789 779132939 575387670 625613069 347078677 795892451 274849017 736316353 665049529 116643922 297518434 481674583 182207295 632605410 595792651 718115623 748420152 573534501 666043436 554104169 125266781 553101880 882136994 989385056 979422307 281403089 183885479 599088524 175371543 146279295 131990084 220731832 625742322 645431569 970320148 179706051 861901267 881546982 879154692 915172450 761343117 640809129 815758973 249390875 689572948 331633316 942032756 342174762 560731915 812248225 660580936 561386425 175597945 391642560 819007655 596503912 637002534 657088579 342588565 701585417 128356046 387340554 901962117 991197563 901052712 795656120 940396287 416913159 281016803 241640906 223058984 516379427 486380276 560148774 978516574 863438576 335597557 927383135 683834658 498903833 747770845 135285502 352196190 260220810 423854827 790311849 134636171 216894459 527891960 869348432 246675546 171219083 232611773 701226315 164143887 809706443 174583175 289125501 654522625 781869040 960160510 527389878 297755407 432314869 958244203 379125041 717819962 914041540 311751654 557131963 768779651 857805865 276417138 313902086 616222210 269838384 546508549 897380004 218101040 529301225 257258721 161427441 740016614 241914873 184981095 292470537 299237036 309982417 175087408 895741203 505402745 662177377 913682247 470934415 160639886 893817983 375750789 188218155 198220058 289915322 745477820 775340426 467749345 158778550 959733570 226711116 687193295 807163165 794626322 625861138 500746894 932907236 505825060 543212258 204137401 357597867 705513404 716404872 761315277 172107462 215685990 905256398 116268148 208268167 922316631 652845575 582999414 510776289 984275500 597151080 272191114 782948885 125681137 114064538 179520698 795656887 241266364 289948944 854447591 847995939 357911875 389006075 914050787 938459515 115937263 624568315 595475433 403325468 812641216 789633005 247203199 835474911 561529912 629009691 148210410 725266843 815537733 287779780 485608979 693936439 930564150 441523677 549347081 162438170 336104400 894018604 601432164 856747892 458586541 384207311 977331263 338273289 702631667 221675191 909058099 696300452 937176910 177446002 767817750 601315999 664005930 584932528 162598765 717897724 848536586 870888776 342966737 969267391 591395465 851273935 417442194 270676753 646412426 115211687 995280389 376636459 872654513 528003274 482825904 652187721 754755178 873808027 285384857 794310521 371333162 220415084 258063308 358023284 379480039 538195620 352196713 371551314 661525413 404499475 407752792 156856708 963496475 324380878 405814818 487572337 291459886 647924432 952109621 807921108 357633903 318088278 452307959 258763589 819417039 509083090 356932171 776984903 521661857 178901586 514880877 899788282 483918067 700132438 598383704 814219489 233135964 985974237 451409575 615739132 272016859 114008792 181996381 786346262 805825287 700897055 812303690 704551053 948575647 433598461 127033961 617496662 423270910 337270213 933626680 371993960 885764046 760134645 278387673 118174562 554927581 532825331 671824958 280006219 102481050 476810047 998461801 439833567 844038124 217142575 324597582 218249372 668319061 726373181 754250222 476166375 692806718 844675286 212481982 507999841 869216687 175027496 482527739 823660503 999196107 222757463 446813933 943383808 370723845 549188521 745880256 854337805 611991944 822004959 198717121 423683748 133585528 881918157 328327119 661003632 781354955 887617196 580562992 832454171 860052750 566726060 529945375 927374682 901241246 338596250 460137310 118699556 124955672 697631035 430438509 264106281 110972922 442690106 638759049 392935362 534591558 911813060 529152961 417766331 579359655 866619493 520077151 529295646 485691998 873846842 127277998 471699840 102266442 907048809 963550737 514515496 959457513 834148210 913468009 625196684 114574552 561348940 147193325 107420836 519371166 705574652 681958560 285830372 155163269 389256244 600136064 824884770 286184213 523816941 916884315 218042298 114486514 336819152 725927984 114052885 329969595 623600995 111950015 734690867 215051173 218404268 548466795 912479683 227699155 355005927 180040830 156886836 180370687 735885790 714397673 521044076 508610243 299325430 815920728 279887575 795350676 812194059 330914901 566105426 461008545 332595306 816527988 701071588 312577052 357827632 585500815 501801951 739549815 483970186 335833737 436964117 201560356 606040459 959610629 215235231 678313264 286141903 345201382 355775906 648954460 742396977 576379857 336794473 207354778 409705073 917022912 146190668 603028058 765410288 105675530 532958599 117056981 194531321 761482524 499029767 282596391 621476664 304729223 400507366 983610808 418284458 751599874 661599006 400785125 566423427 290330859 459360491 756086502 908923930 824240376 295071581 191349158 232639660 778082470 448826561 973805704 364292518 948430366 486048214 795085082 184296751 400337374 519297611 164926547 801658984 191625887 103767250 843537908 685549349 203999082 371222736 592997199 381229001 772196422 992788031 881030897 187109081 888430106 414136148 752843779 614583140 239286628 280753021 623170231 237153335 184240694 378267948 989660022 814443494 340776195 189849465 616160168 955234194 296255236 423783022 744210256 451638629 697992348 140339411 295374955 755046416 533280673 765239545 534999278 255664514 209911631 834628444 438932198 581407638 528902268 793874510 218903491 284743979 512871292 370983898 822590429 306653977 127926813 293131449 425690461 312207444 965866711 700885822 920740617 380088866 142626563 447226003 945129977 445426040 610717418 448198970 133557999 464852030 345671608 381036558 936233975 354443058 698689377 955678761 612714427 976703506 360178754 635898433 658007615 882144558 149023522 365454140 436380842 123932700 781101443 581927305 324477010 323352025 797863360 656538797 855442563 193388431 733799815 914045078 190309944 203268564 996419512 990780795 249059525 654065986 244726050 675117383 257074641 809134908 858804566 155422496 618438486 531267085 202478207 241586958 151497389 490079222 444687352 658918864 660269406 201058593 829147301 525526420 157024221 911690419 792747022 486981031 725286733 677594532 422080867 705287355 230420356 881025161 310090194 903743513 235083948 252876501 954444831 449505520 321565593 726101127 901702693 572393153 214038520 687273644 568440294 415195638 930358068 301217548 156068632 930612180 126053654 730059150 518535094 697892349 626072470 299401058 909166210 791665287 764710428 206267954 123757735 411107247 342351052 538867286 300263063 152226382 136713378 863925967 372086259 972719407 932839796 518658065 519112562 606823480 165413407 304714079 777022443 163016484 993635646 909374858 244931465 409331439 222570296 356062621 572444684 824370937 591693280 762900266 766667464 827134312 650340223 428319226 706671378 844759928 438651193 687068964 656220697 263543883 876268464 315434681 330369027 628862525 969006998 722816211 638284990 281475229 420502480 562085862 155105876 148920438 146732557 327324896 810442420 696976939 392147155 381060054 810889742 905307654 337370773 388201323 480815955 633110691 198791499 161949759 117196977 733861830 852982497 726789608 659660463 583339517 564172382 621610034 670064448 652593507 797745693 765122533 765739087 864737311 563033405 661210616 214162532 688035717 176808217 559265245 434363899 375898685 260535097 722021582 677230059 818905383 596422722 847759339 573753819 125788312 387128886 603339756 546481353 766958034 399259263 341984195 970683246 354023671 798322419 526530559 854150461 405657982 121038446 941169529 681282728 645727944 989629763 689941577 755413901 131383468 613960068 946548061 900832084 576627407 166211245 669192521 365607101 631268151 988988810 177163714 222140689 296757823 917016223 329452208 905096300 739416327 870897686 970831233 120169813 363517031 575779685 347079300 518272191 177455442 815753123 241973336 277829196 765180042 263630985 245210655 119710391 477031932 417038938 466035261 333763079 842581975 170628965 320248684 141697379 699663185 735631748 402382160 626624640 160177989 125460977 189721324 903647899 396863247 382579559 901849915 446922352 371360503 696347677 291215430 485721677 444472112 829531017 145679543 559347297 145975220 255346962 941102330 749673978 461244700 324415271 370868615 291117912 560947426 167318188 582406959 309683437 775952544 220314808 593944641 524104862 627263844 749690449 790627052 418090668 470663318 175360021 304717022 769084284 961388266 711868637 711421926 300045789 183191424 596930784 129569417 813628767 131716909 683058041 122938355 492282341 194116810 718837930 560485410 464325199 559202662 249119208 409612470 869760713 242429109 711790167 830242075 413011296 771687525 216240823 943569016 327697522 483748454 955676748 280164480 617074809 968940762 922114381 985370545 426030895 837036777 474098336 930366898 132270579 473172548 162231979 485865971 406754783 287531364 932080313 858618354 783714627 285222491 539791524 121371310 356491662 358264403 353641335 430753722 391179748 224646147 758959605 494009200 361445646 858179133 653539297 971867985 937483170 955669438 156557105 630964561 561830545 804745203 691342287 519868169 167618003 459059468 198053597 973395591 201262258 271767852 626099847 332535262 693978639 854958132 465831451 794571259 450569349 962016977 173327894 793456109 235765076 747196709 814230446 499614191 161876231 662814855 298391284 455503160 498561461 572804421 378047440 310310552 300414697 260391734 748645252 501625316 530615214 773770731 616412255 923530234 790414152 621602037 383312215 961699776 756474565 798413372 447093062 523401911 321001725 637861665 740030826 225672729 221334880 370268940 917320221 848506713 875294828 268968850 403288993 276523964 149927576 932029610 313432438 334246827 643975599 474436497 901988348 612941990 996595541 271975500 880868806 697948362 510634911 199934553 335046074 744290608 166150531 669341588 995670705 568159211 922602811 610687579 470565896 374072576 802914035 180618439 612297717 735506518 988566177 537990800 932178032 504815611 852395841 295537922 599872988 870621689 580125738 676710397 161517524 352579047 439186772 837170599 361249728 135821044 911776718 994028271 482839257 730938070 964361904 880807086 759601538 502722473 131143419 137562968 648546708 616083900 407712274 233675127 692948846 784212069 152964136 533905353 735646220 978608747 591659344 381785941 811532157 834449968 745150910 839434110 867076412 356384109 498494748 380618696 944755643 776859022 530233605 343312533 279598265 142833265 168140807 292373605 297410239 936294022 178072153 435783979 934505067 118886434 607654421 886791607 767051566 938788449 169015409 158666918 926364298 513012278 922016142 299740477 409445413 330694012 445951438 230964078 644110123 261428721 577402027 817375682 601900414 169763426 998406765 828602635 228009121 584984385 110930629 867697851 153909151 866258317 619792020 556863705 145518596 235885298 173600814 359763687 469650368 152299982 182530894 136081821 895434218 509901134 204865732 249573068 622842536 402955995 886065432 880582025 486132182 618490898 224123366 759469908 401826655 507239631 394556486 738308994 694270795 826719245 892435265 194768257 549491706 746041695 775036448 470012803 388216461 207212066 661773110 318854717 554872426 212624041 478689108 381987289 313819119 214021671 814451778 272032105 168372688 430892467 941489905 978737880 198661544 532508626 930782588 129059879 187584016 603902313 840201195 841033977 224358694 685848403 988708473 957770926 568375684 568616645 158190716 745844560 810488918 172399876 421056309 302813383 166662224 379630848 772209112 214916539 239352431 475207375 415517185 501465271 163246600 184765096 732824130 997647991 422400082 430871105 520274528 976050812 540291873 638977034 117494938 238584309 544938166 655287800 674085068 627481534 688130871 600235652 322426912 206904744 947312969 635306131 904283331 620094815 876241482 517233063 138763222 293326990 155397669 245671144 717095726 488825558 207608656 843712289 421670493 826839065 487584431 309353853 975863882 415689630 637318637 461369701 355735295 607922753 825371254 719042147 249122917 519235701 839305453 994957448 990647668 682283478 765051526 462415714 207312680 968266274 209029303 474856390 224831891 913445428 862786838 394072613 625352969 965961690 955039736 134098735 781952119 144899191 683660405 103441799 561696723 903165337 545537632 454876667 906101501 278617824 558050464 948559253 140025609 981320056 600827783 900462796 234775305 886063154 844508877 450041883 167493090 849457741 338010285 864756103 244613684 938010181 767227921 734209244 601684377 746115616 330230313 950442062 924231782 642955520 192400946 242849910 523782489 640558872 319840136 450941924 105653833 222090702 412717804 274522097 649092973 688243615 336747424 833798977 815181599 728914122 142705655 988603084 670167257 623516665 352440861 479919181 510459890 666575060 883309560 451526746 806593892 537436954 319264734 716647723 500401763 978295295 446689398 890649182 902718276 304148249 156057527 493140963 346689641 519725767 854782018 477067391 808023640 198106871 436205058 581436624 549462604 845766624 472004665 202659448 916213985 164069624 641179418 436977594 760806476 135956647 431624557 624022948 503535298 975677590 605047468 837203962 998111288 497017805 159707804 457076700 363764001 855288054 177031217 537118046 691141868 529708476 744527734 301669461 106233886 857517992 668824464 465298194 849590235 757007337 697563704 502369678 576124504 554792749 565222800 449819632 365373091 702183035 248910327 289845612 923747367 708612932 762315318 969585197 587342064 645769742 961311167 470858740 768856150 271921570 254235490 564294079 758863355 274817845 617127264 619189994 863187954 912464959 189381411 417579203 227916899 448102411 967237369 949139973 937064377 217555320 470129608 786875088 926352092 323088477 998413797 570573984 262307998 263239241 761243405 354589901 272196362 986332572 124084388 642621676 964420407 492034213 791846580 386110357 703719925 932571139 963997102 621980489 120662207 412406044 477271783 140640918 215299310 275362157 131915230 855129809 330583708 836131933 362863172 460273600 208044853 174388024 956348212 349608265 443795090 399172906 797336936 289470231 587450254 334799630 829563382 504816270 970484381 962641461 752195656 641812593 616945380 337765075 586820453 766456190 176293690 455644686 341629360 660875037 152731231 692859314 549057535 686130687 937416538 458833150 751656598 671063571 259384188 865222937 458312720 858221349 798137779 506116082 936169210 592395800 491850535 675814106 145067997 221248692 261079850 899066651 777544044 972049514 724191139 516712339 870417713 415418131 503008675 980699511 143694975 343229936 690539007 430652511 859218901 638186550 747764983 739693475 205479413 539081072 430373890 772786772 131492456 219545049 187917007 390960406 434687870 621703406 719301528 140527889 441874228 941376695 285929420 619656512 416262442 203936444 146618717 833696754 310026057 849505603 822106649 209301528 525994764 188889834 942407663 461239968 853529335 895482933 350174782 101467074 581082681 515217991 967446757 317259723 398061932 541932751 207102114 598459955 403805553 589207995 415178196 288642462 141778835 623736201 476838033 491063897 641851623 865264980 360342724 616247443 593786445 832026717 431551729 931905727 398654637 588959647 373685295 103018565 654524405 305487477 584131704 688083733 143683880 200876117 321041278 787472355 853882057 430748528 286219712 167412469 191722658 333709119 545671883 890197896 750818568 287582459 460040444 908706587 975668334 237845788 256797103 394183616 590964099 206138468 563232292 832935110 551479559 796154871 568229109 851436520 637882983 141046065 230416988 783552749 914591740 684573113 411112807 704948803 237400802 394549724 607812427 521440837 862818688 775389296 692217737 690237422 358539552 102567567 999822548 357973876 537766269 455040766 417625659 610616325 325096325 547611033 887191903 227445105 505864776 681617798 490343700 951430477 910502902 208097271 813726068 631368630 124465057 785080240 424195934 421751934 344028080 100313725 969722083 913529511 997974496 964506321 294966345 804968325 889092843 489605647 647300368 112061693 482342415 604706693 586316272 840036687 238152517 549187899 747932391 157274417 660901506 141808926 192714490 565807999 855124053 644200015 102363194 765059803 281794605 284198173 596768302 285629622 813265880 582275562 494690010 504462378 767704688 662534560 296058351 645239622 642865816 664053430 632888571 295556870 251332534 980984117 318654114 255126331 349409569 682312509 566366587 829610793 391408262 324777514 924466113 800766267 161907100 382854993 765870560 754381865 497168253 915538522 325931211 693668591 466290457 690220611 867373624 128216248 983632687 832742954 451275815 810424770 266882828 991208998 767407399 115223035 574977951 232607449 862143095 879348355 520338120 334569998 741995501 168251763 948015938 586277022 882910326 302990915 792838021 941141190 184384066 923423192 853654227 701606106 848843790 478397243 286148419 361890680 263251836 501420701 473901319 423614501 219858391 622790481 339075972 762066302 530621537 922382318 478879476 841059952 792087176 311118409 369663486 629949616 937008417 937044850 217869824 648133272 677413086 247568084 110929128 759278029 589262969 503410291 482595886 848438912 939408537 705253996 327797678 154177739 708526990 946211712 120752312 122670774 392832210 338755751 496046371 122824638 644905307 481307889 733034545 374265936 156509093 636860220 642181541 904269929 902520551 272497369 220507706 515677610 873732074 916432334 171411175 276617079 360379376 658922606 827859205 408203321 859886925 271410545 347150720 621011596 421473368 368570026 516155450 570437056 563421456 490671071 419712626 478184393 764130945 940568022 296497784 355882893 508778359 493160154 291245722 689386563 792519997 636686662 818961038 233360555 422305400 296792993 992021775 783547817 898568159 238796506 917321066 185102032 419978302 562629128 930897001 153793325 814125326 533879566 962535090 841054415 429011140 229099427 846044342 594867243 285694098 402521690 405953589 504998639 233125374 102331257 745205223 234360677 888902824 681313333 788845467 344824307 711451991 105325348 307344521 417370249 550457681 450012153 804985068 543712565 451598186 762500612 432480278 217119916 180222231 579491183 550531003 346583693 268170786 695517999 454365590 922764553 987872460 429165364 847441596 335691745 434253249 361632726 972515678 369086981 817797706 172648787 263211074 667544170 958053655 260984560 690671688 550954170 912219028 917083519 432853289 380392454 508390382 263558478 501194774 324796060 825890286 134372883 920566290 274501905 586431679 743365262 820002419 163954840 196107992 538039331 207798929 971116259 420966226 344807536 217155378 296091676 275327256 509091545 242343465 480342794 456925309 179726828 671490364 459895433 528506960 555595851 434260321 766120482 284220267 184304146 487517364 896138526 663069068 754182105 298722530 580837736 375834737 978545581 615929918 164758995 966485672 599865810 293304082 877564855 894678434 775754900 854396781 155263539 831965880 163590580 813378402 250835856 745507785 452006618 956242086 472116091 146608285 269202338 284853896 800426058 347566473 677566436 228012428 759906007 791723001 808342005 602920474 842793500 424653079 131252285 663418876 709195052 690797478 135280997 215899227 815783368 530664630 417624796 419288647 229170607 442000418 807337407 983409703 810126379 939242993 672798845 548087171 150468195 506420466 930472472 406377807 666296726 517474304 546800650 814609351 903193109 788207754 246135713 814051584 271607212 878142456 245696296 659394780 251367127 646272073 297724453 790977025 744011970 307279511 223327732 436061450 619535551 142029572 227851609 460698942 903036262 404852243 131816547 799063158 204727292 535687379 391883770 905586270 450358477 473033783 946660827 283813850 185497668 285580350 127597099 956169453 993469441 120722586 219355257 454149366 903438610 964584116 522875920 880586752 615419801 541465192 927661131 122549045 709436686 103540228 273529991 969930711 699753071 320525555 167970375 372111656 365710198 763661572 197692124 709048821 718739817 520847047 532249582 356892292 154242514 418151089 865921381 524228332 977932390 990607484 823347304 379802695 967294854 485513571 741014726 374122134 230370177 557129114 942010403 627381293 450674491 886362407 707409958 205980568 244437559 383226384 691406539 863766771 489481268 677558255 200682461 860223619 762765030 545593789 915499049 196509081 814274640 284739304 367318242 959646107 216449071 304626152 279663676 952551501 308144473 735571557 593882671 343970576 676117730 834646580 245372272 501454964 573644680 367661433 329686474 478164009 430438932 367777861 807697982 802236641 181492482 505572406 155110807 904616862 367130501 747274966 667923789 989550330 195714900 516864302 573771847 590009597 182979497 553825140 852072472 552982871 318379149 859250626 677311739 502140512 338363057 418674618 723524503 993240678 347163489 407736502 703457893 566758928 487684136 341954740 579040933 101113837 811259401 528387792 235733152 522157105 788548758 328586591 682061866 454160392 261440670 492400270 136221549 125217259 538519113 424082251 798913945 641142545 939223808 214273262 213097380 194692407 503343222 553382110 532230647 550522116 612401229 978286615 116501007 554811477 101662979 144497926 892260561 449669678 543435318 753708043 376490780 877851957 413033648 702693427 496259959 155516312 327263470 666160568 867836227 554921971 373054052 363791041 558622146 174455230 207120624 347787143 753642744 411070885 280277539 852657007 700731924 794746399 313614388 387121743 301535282 296724813 550462905 356391937 897875840 292553892 666105443 505257153 608943728 699107369 965189523 901182504 581726868 458607617 208193399 833153487 910959718 392345792 368248518 186200427 174979004 983634295 462281927 556035272 317777275 134721246 894495729 769462357 769339536 662675575 368133869 404051087 695243387 691529175 496589709 957645527 987067556 860799501 466806030 820894713 874966860 666718066 859637983 558153167 668521179 833119625 731583203 990986817 448499470 405848645 549492881 745307865 146581271 562684030 704690718 422091440 210149677 786170651 930463427 335775206 216610186 286218589 938982777 233365791 512514814 258404695 748439628 989606803 938054067 714292668 238310042 996349460 714407339 279366900 586346077 560056283 350357932 936858388 474153008 259685952 172872827 163092474 900542166 904449898 294733960 667694689 431746772 486798336 699309023 524420628 492336401 103647738 574806711 557666931 971492431 418294320 929804232 230908046 284317161 297371952 197742627 643307560 584914596 742623951 423523972 751227377 244200406 956150392 727318426 455136721 778964547 322765075 895017994 733993070 936421221 378446276 648595145 962653441 138458467 906284438 444408621 776033193 606652337 892933398 681134073 614586747 442657965 976731683 775675786 960413305 633212267 880133586 555269538 713353883 687516059 139766098 883732079 630342912 906132424 612547890 748640358 336527090 902161905 557936399 921504382 649156622 579380925 500333773 394041629 482184721 807416818 682989854 574112855 532693203 799607196 105183627 167210727 952349708 970689440 157645917 874249187 668874373 488026534 500638693 751093202 129858763 547880972 497405192 685540108 873344000 371343476 914606622 138328660 619804535 590410315 345984241 249969971 754405819 618606588 770399740 458087509 105279248 978342165 807259369 691169355 978715090 859413271 498538401 203370548 602413029 375535928 777533550 805098862 246784244 415443560 516132386 528125253 293429104 334316548 351162784 393349193 291745534 777725337 110461752 874421781 865492571 719849672 146840719 100865227 749489839 377588639 168282362 348410664 464952770 548949347 732936426 463758948 898321229 596476568 800797228 526439636 531708433 546595559 773372756 542869893 575391768 619831616 517662704 143478637 439818810 824838529 730122784 123646497 895642001 920713015 637854668 549482081 373466932 546845260 161541419 310612262 474708047 522777714 205933863 516814758 891706764 804958960 988410516 820351810 279088192 647263718 980102697 892202304 209654197 313332461 827434013 410941906 461414403 710950995 699806132 641730423 557163041 222196535 337794817 381886708 371026771 187460140 911479326 310703515 447452246 552323380 965284903 354009567 469822890 281631820 519141023 155040734 810367253 913928966 925745574 584073596 374280145 812447165 529295138 517172947 348254675 560282030 156664785 375678568 762386333 231801985 545715670 993035984 319333341 194664242 276944961 448472610 480847945 981827551 754018139 582795378 247926787 932855800 217060443 586615199 884322607 247441280 583258577 891878401 141005648 164228301 322487673 873420035 412907196 408721475 613333975 523274804 136915239 898017278 573178027 135392493 753568324 218921835 671233919 776806631 797412948 400027081 943279555 891576102 301240247 456280482 105996849 240287094 749585600 866705612 918696799 309414033 106487273 757840459 965194299 309934476 893399876 119333056 920755432 173753376 382915862 313982094 940133656 721076050 322875538 282837404 842238053 942512808 827683402 744227782 878919179 428786146 292603025 247328973 842211360 137194913 420679510 798893678 647957550 785045526 709792268 608741834 498500679 767009637 946110288 280604939 313252616 184208402 360544825 891679636 595997454 300886662 628150142 244754086 726913280 418037039 977423243 843542835 391174771 963080033 440870153 933051488 884782203 463088721 771381621 906864975 234073018 934401061 335027690 812920646 728864998 877492363 581850723 470480324 327666167 348723038 681040219 265098347 531905559 262052045 880639038 777556339 178329581 664792952 887727503 810987415 283475626 939353049 405420490 670101818 512735998 896535961 517899998 346692645 164901913 620800018 729431878 240529195 513276572 646254623 202218689 776634369 746393953 344766581 629577122 142539608 834935164 342216457 294535857 754757595 118931604 146313643 237529220 962776797 157723853 979309698 697206940 595863368 721196144 240507991 633549830 697786104 508127579 282990104 949660140 579496847 457724843 290113753 141073390 341654298 925232022 427395810 693865729 868262999 344413007 386706226 199484256 375784867 979192328 101641308 592338049 369938515 754558516 541548453 484291996 189347187 485941156 266558527 813692561 367950488 923482038 564072353 160928058 308657480 477922601 446593716 675485488 659261829 403369951 544041610 599229430 889043066 265665118 906195376 940231156 123552379 646675493 117759935 407812207 325915441 112595874 846206907 382287261 144461587 907580206 735682797 319340598 364969827 563867544 638731566 499525832 330365851 457892608 359667300 403637174 659894763 289161994 667505217 909734789 214845329 319938794 666031428 351661533 957714705 647935067 514575126 715959709 691624222 556259534 730329368 122051934 979176970 402396540 622192693 901111434 177435591 776827523 658945151 333590774 622022654 301660690 719188733 819847939 945374094 836882327 657861595 992157122 582525814 305799181 195893694 483411992 525795346 102486612 277162804 802154962 337635401 656609048 154234482 941233845 383298936 691259806 984352783 873965203 584128960 350630735 440576054 506010322 136054268 145334004 198480960 594731542 191384961 423085691 194397204 700779090 890859597 864047066 804784936 136853306 970595928 556150078 647865311 533135735 710914561 357868278 904404632 856469305 796038895 685309899 762625169 298152152 297483790 206259784 495084789 397992490 374701894 372923316 849935695 925880662 602836162 364069181 190655956 996669280 759039203 889606837 692766204 250565023 492712736 422785232 235298636 473458234 462523531 442857505 530734780 248995969 875136079 231250602 231494353 436665838 932588549 534858784 116308095 774524031 424129302 661351105 823029321 690869344 658527165 532175803 499691884 393611070 899278349 481290192 467069784 622941416 828728237 289652714 774193101 647226338 411947218 619789484 787827535 848761915 401175387 389384631 804449049 160392106 210907779 695591849 868298562 496889310 451037110 346915894 144600108 282526290 917912629 688972247 686156692 440318274 950032159 513439510 392806942 448460021 135850793 413133184 654170219 780236672 831261904 469642051 259297345 987623055 509560762 907833761 820546860 973781242 410915818 349153661 271180918 126905825 209013382 320416563 391277433 748486953 731388270 239253430 148854721 303323565 935319850 778851746 702541349 838921837 965005458 395210406 186255295 433848026 479841391 500029829 320092516 529611644 296413968 852342005 660430802 559978388 586456705 615369425 350274615 835439664 351922962 619564834 734097703 119555398 622350147 522136482 110889108 924637454 439163063 922396825 853715512 358429680 185820841 335507696 911164442 335699877 877752406 631712635 425494484 441998121 804147765 614528536 843628490 237110025 152988996 714014107 976408953 909620828 152134837 111475326 259319261 162179657 586346863 158446004 901227249 861169869 303116036 604907298 639173893 506672523 211933320 806979661 723265505 443436918 894940828 225961150 534233516 240266598 890047872 341569699 931793319 245055654 959428785 212328860 743213216 785951418 158456780 550444615 975849167 975453225 518869731 668027881 865394078 753018730 251653486 444191757 845429154 673616964 413505820 939244469 502148238 490984060 756144970 799805167 347160129 995170410 399626567 841542094 443728358 603877826 877023838 877744370 332019580 133116674 992251221 223802031 302179117 939970488 804024495 721139689 938022010 324672893 487877390 818892188 469175408 120752855 404651127 689557955 181517850 693363139 727220383 525011665 475191842 921204156 859263925 490344069 592454451 319558960 423284680 622340661 704038746 761194714 755395931 725072722 710290323 624867481 756399862 474757047 549594294 364668642 210998381 569612473 881932787 810197257 324465808 518162470 393571878 338388797 353747038 216073256 394413558 771783090 229648514 752183931 733048278 349253822 432342655 170757069 335102572 179746003 929361637 155821466 228749644 763658955 982432619 874887365 335481379 831502788 191865568 793508222 288647948 854697984 431549428 370332788 724648655 556159930 384912180 226517583 545277697 806784860 870499380 296926848 508954463 656217067 689628860 646737166 848780572 708610391 411651764 120114509 784997299 206107786 195179531 864843299 886470609 996819174 299367590 364813991 404336773 886016211 578041080 226957976 521680026 179250807 310572332 951292405 724652570 196308594 225739354 260122273 259800819 105012844 374479136 962025109 421500985 101548367 852598155 787319458 573995515 679285884 810208912 318560411 672524562 905697714 358105674 472147554 323495086 456722317 167975604 785492217 917780790 730380618 684369546 234522476 645239047 240565535 500823069 578561379 365782841 868463440 891811277 870048620 794038227 800538670 675467208 808682239 299594817 251610047 868161856 881686217 795958184 946722522 173667122 149007953 880215193 807942384 730198420 792684409 759591832 207950621 473274305 466968564 829508985 740155307 730950723 496050371 116952799 448032564 105373247 307946516 821543627 525750632 990729881 284942021 172129812 575623341 437459261 669070276 770546998 861653559 922024150 252726369 867417107 561289493 904302481 963631447 906413981 582948798 576851205 863975360 897467445 357357969 660925792 487318653 129234322 126038245 815927328 378207201 917635406 253016556 298982957 833869852 143251478 319792788 705744672 323016579 768694477 194487382 842096720 443418250 858703602 724323604 313536273 355707540 946242969 758119348 359164956 643299291 977526855 291506870 800416399 829100211 877847219 969368011 165828217 703231506 542430999 419314648 747751709 520361942 823639618 248574721 464696684 383289629 790319436 558162040 332166143 565743061 430623537 509508912 478284048 914757423 533700078 677754883 432239290 483230525 614462134 303784835 715530330 503224558 199723161 337899356 591784438 454716002 621511618 149426543 280162499 693511290 381482969 152075825 476501843 696288106 563859114 473257131 668719218 155616439 467151261 731285489 349941633 578707140 281273385 680716013 366084313 563469506 583027963 370328714 607072893 693642959 586873370 493626780 400871290 149643425 261466833 230319193 291499156 101600897 445218526 945027230 471192269 492738110 384110049 252760608 516808826 589535973 650616566 253464357 920273760 415531129 432945305 706329797 690713878 481090378 662838622 110701162 562637145 128950300 536228747 401720553 705803529 853323090 129255643 827524105 271029800 371570196 143332977 429849272 933172865 226372431 613078900 344611500 865511775 522802982 693609622 484909968 301681385 824211216 529731867 364985261 580603716 967403660 216080216 137905445 973965358 704511940 949784405 875381578 493365202 838529809 401405890 236880636 554009519 339481008 956193196 858751349 524740666 769934504 445774643 676377047 524383112 118381823 594642051 731299045 385496766 773065549 205446809 913615257 261618889 907773182 191628768 211032486 887951253 780585473 901033462 514179771 419398657 979885896 104039518 218103588 572264027 636938767 337567082 724196142 775973415 421124707 817086234 986470837 343820426 511729685 128409432 520098504 307563579 262273621 367146771 697711571 704459210 348134880 469151533 365229388 723802301 496216761 809336837 947725565 471519737 547627150 690915419 835860447 607939580 194783038 722177788 230901625 643622819 393895365 278216835 527324483 565995048 996463527 676123367 207245224 200280531 503341300 741993254 323848613 956348365 733693131 859611553 272162058 611016236 546125833 306291822 159312350 853977376 693953977 643839149 279979048 361803050 747554255 894637806 432461668 200253285 234921744 611468213 819886240 643302191 451424423 297562962 732087492 763786622 784665858 908806604 452097811 202374665 588886815 611521409 117812618 242698140 901104155 747675323 777669839 928190170 144423321 214649072 729937446 533137096 851946614 639058061 990815770 750668145 627669146 628705869 728844533 333802091 306228772 199926059 282196608 623078626 860537298 102388393 793053431 721102451 222175206 412147474 748162559 742799317 574320104 158164358 828599426 772403050 779233901 986519177 897308450 351411370 284495915 638896122 602626414 178547798 523297012 220169346 674861614 995825917 341690711 840818331 857653073 328641167 199636936 817745107 568356707 487484926 150960084 289994108 504376502 963238477 573872490 329432054 127404886 965221339 881956651 500543427 540986451 242492839 743234329 268477302 313816110 127760864 670856880 278702150 533508309 511092425 840146793 284380979 147178545 811182072 826872871 883265197 603346117 895267982 122385596 351916884 122374830 159242061 741923746 936240799 991745291 948251628 975135370 849625438 256872882 995102203 833113824 769732494 874188744 314723236 189537452 741963658 387763513 355890214 971424789 446967656 659090231 139066842 415764585 481394633 328987831 996498982 469685534 471129917 570065182 704740154 436130262 358308062 928175914 741712052 307962672 434563520 521582581 393956600 930557454 296835742 166445863 253897619 520488718 624806102 178582891 300904143 894208000 192389700 954524944 770745748 548959010 847284213 318738687 359648985 690045944 875468109 248438492 721134443 444151341 933555513 160169059 760569699 104865732 381776958 947046028 213700350 540480792 612630224 381349000 730211149 288204725 486702394 845713358 682094566 658601330 688044045 727423669 517779704 335016943 482801292 995035687 850477364 874240252 821000960 597893087 881476943 671136515 506571720 373204301 881244763 327925758 858749965 594429642 234615492 635790219 991513115 364790937 577636317 107414354 899274466 624797512 317748815 851531517 822095398 323297937 196050261 931358258 348889530 108884627 690585976 730012725 860686210 313458024 305791202 747889524 301000713 224181003 204363252 171592766 847767422 578301466 604856914 853453756 559624236 359921369 200295242 774900550 904607125 228454361 460234037 234479981 403547285 850375707 345032356 567155673 471912650 105198430 426953043 453763845 942491919 431071014 660635763 840666510 658798268 610593676 353109396 944471168 467252486 589675100 958595133 829148085 246539126 629084771 142721187 661180227 283496644 760862201 728565682 557095979 926073517 361279424 421414708 793553805 804158447 666583697 874627707 142632958 907112943 229675443 241606664 896975372 103265743 477906177 780712234 804961813 614685275 720462402 170273159 572295300 353768694 635041629 152451670 825397697 759009142 713764243 326187611 926745678 392901060 217279034 737335731 207254998 316235056 204809032 649208504 821526165 890921667 406431090 648920265 317133242 952825198 401387585 577461516 275626627 382691546 771505129 328889019 822687109 722665965 958201492 787877156 639652525 991337742 272146750 989372368 809219795 510196768 837292431 765369501 543666662 291115648 170482248 366966456 312847662 743089243 899820916 198146987 238150764 426654624 905237989 910975905 984696507 219698169 134210724 437509154 332172539 669824634 677384471 872901856 382389679 857287597 285638070 213529153 558430854 226824834 604259716 103929012 767887881 131366081 312793679 162828568 987661795 219648580 915480179 788220008 128044251 726485294 721017615 774448956 183450809 993307505 881342899 480787253 932711932 673385997 852046615 632624424 288534897 928877347 992725728 832017576 793165167 195832871 871631685 486475525 204868824 112124162 887817794 767304794 759354758 174164425 437598769 691258241 196677162 302040871 595185683 563764516 698278715 941688078 890535461 678719331 103847386 840666236 389089590 192335889 255834717 114046288 644838915 398968503 979294166 212040083 625596005 269745268 100720272 531640049 838618839 316510144 144505804 132322575 126640184 189938568 954648519 850248394 414897869 364429918 276299730 240526379 766535056 587145004 765183051 518466001 899814626 998822737 403084341 168535720 639070440 230402675 993362104 317530784 941840587 389931878 222739812 127609224 962354258 338606300 362599959 286993342 718748598 989375862 416241929 958973909 349616796 139823906 745818716 606740035 372835992 976992308 862683775 583096820 611416738 762140930 860882436 270743703 337479993 556888861 364411335 126595887 882135270 256738817 114433835 122948005 109892436 570652038 128072850 764076131 113122883 318965572 805714379 883803683 801153362 841351252 963424180 493809675 399440558 791650299 628943425 113048576 947384180 758695541 734621016 578697536 874872169 271529087 285011552 685597096 270500650 856065938 182580454 550464817 976553083 692996298 589534082 354548814 660816410 144082346 835811025 203621500 954379850 389037146 119041882 384317680 814073730 200706778 334206995 853412205 707264338 631528603 371464340 815469567 817735639 979687778 362848828 593516538 774400477 219687659 442824189 417981867 901163944 513154208 168077129 218915440 551818010 113948166 751254589 815047994 837251031 254848918 925817074 299285979 152298598 729966442 628532266 801056486 417872551 445990860 759179929 121788198 958924740 765798521 112946997 173230607 314313036 129974927 572896350 107267666 598723390 185812098 445471760 840193084 143928494 620108131 331921003 396173929 526210197 171883201 704955203 518400957 944482003 942761226 446435944 667131118 194548525 651644549 492187464 342906857 181301354 547513460 120284814 985441007 350948084 108377722 351066793 535499532 143749823 663077561 621557084 398457653 420920074 346360914 130260259 482336972 229693486 132101702 124022748 308064674 369875508 308477138 107379666 833524476 978540172 644390783 552369908 352618332 141176110 433468279 912571443 395966838 438936033 720572018 176913775 927507909 353742346 485262856 688489318 540299814 934127339 371184158 127914743 981379847 664994948 339916366 481508501 460933444 252482856 694904769 855492091 398303737 230074154 353574890 901277125 697247321 838627528 393500153 200865000 635867144 721803180 317580539 739578626 659598842 294508181 916535892 379017711 461530340 625717453 584272020 819582611 591868149 659507234 634289624 270018745 640982130 111701608 641958182 127121441 865408495 720910324 453904904 622722222 215911798 636522917 307968594 191362900 696435936 571515850 105522649 940362123 917860190 836208381 670963779 198490803 753586561 219428172 598580801 609504982 484980100 658247739 272365709 538238374 415755382 717365693 282905429 200363030 197025034 461979304 593669570 403262891 116166747 711897139 469040624 783954552 197020556 515852116 172448144 898344597 498420884 451398770 307461366 726088079 265613738 220503462 153866218 828800247 650734736 368559598 290133927 304283967 657220891 535912352 322503939 950474013 123463644 680290244 556537313 713091550 617993104 775727631 327863748 380022021 441090492 370186009 752539619 670920022 459696070 642968460 475524213 352259193 929192878 468104899 474319983 188126950 599108932 824829407 756282865 444463720 704982628 941512534 414930497 826060563 875066723 991173727 483671959 214450947 516671817 253587915 143886907 137444884 446471236 982915060 624954349 400850479 453294171 344583037 621835442 464300792 445411427 227693436 623058513 472488419 744539789 282889411 401641147 788896823 810572528 207827595 534284125 222226957 914172604 377084584 876104025 513097088 213989963 534394302 231797855 872481255 314742339 971971661 410307460 805691964 240220434 467720078 134952307 755147284 848579979 766237742 824862640 699889953 344138394 543994475 651499760 104910326 219510657 432947863 422909511 138893219 952134371 189521800 558463596 210825354 667945044 523893332 877215133 930501268 315646518 291792851 404100405 360400837 729476658 571540397 200875136 786910416 520439512 359059988 435813948 958406510 325454870 899534237 194974297 474698353 700142239 877087909 883749204 939898138 928038722 827541494 989500510 516936021 400851404 643511161 226206208 288663293 532638612 316166450 835467687 758520572 568242485 447904302 715880797 713209964 386763603 195705131 148340654 886317099 631392282 624071229 198077234 676331824 748460265 368841600 654105476 472142083 825007110 670522775 402976320 930067224 730127240 458269993 758990209 504940664 475835164 854059155 597792399 273741081 553818726 171161711 302011380 572924385 108808060 237415963 317002161 810501125 202160561 976131348 235212682 578222724 996833317 838856742 372203537 450350607 785664862 916017157 545182242 599448624 996918243 387179344 534374113 431957593 322756166 194847403 514262685 185656543 992384649 242035638 572988405 156996448 236494522 245929332 699118857 300347581 993471345 446916783 778412981 980198210 975377454 989817937 543173694 407363235 206799537 815293898 425772156 592258474 397884123 322850372 710947293 773408383 211670830 328911187 489981118 877239302 190636451 349254781 745961443 949896982 588076160 848748751 399232378 426880720 660090423 162650040 291264277 693191086 839644514 955957594 278894933 570672435 193022307 590815576 727130155 683072668 769729498 723732966 276942193 444612952 843698648 176774819 439089417 763162950 712497876 678515938 131032101 688028850 214854199 550559537 572045686 283485981 814502818 438624771 190864030 512837793 586957995 687529106 410333658 949387092 628871564 494609059 272558535 593640129 728844178 162999178 985584931 646488627 538790406 687231102 556783179 902542401 847717091 777343594 494949024 410836196 533768158 499972753 105369665 167122354 496183234 845122786 360154004 931848845 594286893 535367959 183430848 578060040 793970173 660341395 208473970 387649023 223823505 198516982 198476335 782759916 414381099 255715910 562228698 586856835 994642555 438753546 224185508 986483296 579982101 156619468 159336700 518137012 658355319 798265722 783905181 781114842 317886494 197407956 357575460 706640862 283448786 454864100 404868850 516847180 667137546 899314664 458067872 326526190 399817839 784213403 808643119 440360658 341481210 944721706 910453928 580020259 740744369 642948842 970830418 761710958 639780261 476787454 458861059 126279841 185296809 963435806 482483367 391343987 579919735 482024083 709406294 350409996 279572178 890985824 649590232 874526576 207590147 901204600 191862362 179058349 217245595 594932207 115215747 156880036 913546099 513096223 699252761 290351764 415586849 355628223 877886615 646754689 892785505 466746144 535944397 343297975 863201993 778076307 203725333 994370049 542050991 115933222 257875867 459526254 801549328 228293252 475177062 114543793 210269888 424145919 446658505 295775677 828653507 225144250 302549516 856489422 207440853 433135927 263359107 351605250 652320769 964568600 873784520 352233611 712229703 653469333 646953438 101455579 265221993 758630295 801632010 200591670 956340764 774931057 127552598 281318812 684648944 148795886 252131121 777541507 560672655 318273055 780232761 108577351 665542941 980268539 990361842 411050857 532425146 728340766 546753165 514868919 267728938 680013923 838961793 691649490 588504852 832723262 447762015 969113454 428316231 282667505 926082205 249113384 394159779 710728755 444451338 417700281 730370005 191571641 116753110 122083952 762387934 564003122 148398941 752774957 109774214 577246360 476790592 516763907 789308769 809087650 183448654 985225102 506782697 473100492 305423768 744659877 976568928 744996380 682919457 838309882 904161796 532182619 989714237 465127509 150651631 118963218 972015285 196691394 158870278 239325846 748334225 281457639 265517055 336083688 249748109 792042801 834245429 391809365 841792019 566658413 867088849 720721574 135515750 930644412 330411627 177249455 154178080 973253046 762531889 623331232 401858416 159511739 946092039 166515943 681501502 485573299 183395345 282268210 115474637 724892463 398777038 809830545 865949339 733766335 269121337 747158359 491918882 339635588 501838007 499764263 744932140 871809485 912520202 693600982 664628617 144158514 106180151 705258729 719101574 731141241 193585720 808412835 677533277 430021072 883689596 737034823 784786917 387802499 640551661 190235706 375681153 226810958 894625978 565745679 814888266 221224621 197689225 373930567 411900018 153868716 392477303 881998382 903172234 961371486 621270953 964723294 690568572 501978304 149937135 263515429 913368627 985794044 474060454 626247409 613288798 119763853 505795335 740649726 819852183 197485334 395219124 263459258 411204276 616360738 935830528 619953967 936284553 120979115 424441502 429024047 379907369 552025055 248619703 201065382 350299911 811103922 258368354 973989871 355460728 136934648 217318218 141923397 367820782 501842354 536441607 476507820 570460868 238363164 459538692 785271633 655816451 599423424 378263682 778178652 644493634 493550271 127689253 842350216 438897506 743445462 598297067 621173027 480904698 988359424 310477294 177474465 497615634 646159946 978348103 548601724 845047340 557061129 453083142 601749531 954363221 709231858 910683271 272982501 563178884 783813310 375609136 789071387 376467775 402018132 983204749 177126499 956172274 700434848 378469487 518257809 534991924 672207068 391515961 201991217 775464438 117229399 235515695 810467403 987981680 709945977 988339512 661341010 921902471 304662890 339978735 959792367 842464372 463741659 713455023 138156162 921267528 945230848 909549023 325357366 400647800 698482617 678088245 630227588 803919598 515149784 704163784 742774923 917879062 858799292 277441129 808264741 490627700 219946981 921235624 369854754 810011720 273422810 748909719 107556342 373869734 456347941 712497877 788948855 424553235 441127018 601531164 120773359 601349826 782173848 968128134 389360384 258974358 655370665 224744556 186532867 974601570 990386813 345043570 891257274 706381886 526176655 152628502 962224175 660185305 217510243 615431035 722928679 550118934 797829461 781240676 759614132 823593312 897543530 564555593 616377999 534912351 730211915 286650066 846227889 570605994 232353573 344877579 870176262 720361931 569859096 719754757 717066154 215120427 380001231 264557170 781467235 745638225 407688341 958303742 134417214 200789061 338165572 704844797 820163382 307154486 812585464 760662459 172600261 506048888 682992001 529221620 135335608 843254852 602971312 954777518 880246467 416396602 849112681 823955828 373736254 514587008 767238952 927980968 971441425 235697704 466220316 707769143 671597814 240674872 953676760 911831508 940804740 240266023 389051920 900989518 633296398 832012530 563221369 369950361 878207365 718785226 459792403 197188150 345124131 997301075 466536326 917020755 408371303 469933681 972006578 751360457 472340595 906004292 307798751 614292892 585829962 254719000 171179773 118864613 316186500 494063728 783594948 832478682 421978783 551090414 172987060 561753986 646510648 546951995 676183760 697863474 278092890 575017789 475890369 399256915 859097264 996951011 945719589 274635075 688375809 806564708 290548232 292674073 248109155 338620567 379632369 669310948 927511384 166339146 606164350 367812966 395538050 307675625 607730693 413494703 489859454 994522250 219401285 827999982 322056945 790206874 285809193 862272969 366482738 501919219 931414615 178686823 670599040 345024978 111336774 957117941 944495896 198160069 168292597 582521225 771985008 609461509 899763356 957433480 118764634 842687626 482041216 534123120 573639190 149052821 219657660 140563890 586710016 399922013 727489757 387054404 534352751 345024021 778549490 329557741 814566967 219325387 324773466 601122783 873312059 510168094 532885109 591898896 555523535 779647977 592685852 499413289 554595482 870529877 493334581 916590634 296966033 672380554 103445557 750983028 242230634 482632852 220237709 211181005 229977074 251052315 466922522 279414603 491136025 121880082 914186729 868001005 469042958 413588564 530402090 649928179 131503049 718301516 183280745 814515612 979583710 689058326 500252890 253987152 829462707 631741827 734689455 150462875 457785377 378649949 687699982 473091095 724088220 263562750 510099456 529043099 680922175 291758671 860532303 395612734 553192086 322720826 964200107 165284574 412550138 749234242 543611833 364730558 352322197 340341044 343765721 897593241 818266991 272739887 973741791 247127963 951159897 690326849 768025800 767016634 942825218 895085523 443175752 154921585 809784034 317869582 252045524 262960515 989112602 704583420 543138820 510839150 518277653 659709083 266729996 122496535 949016368 501726906 998671178 292562799 522676487 463490106 176170884 978873103 494111259 463010816 194475701 703574243 211095832 877578551 604285757 342006470 300292768 173249640 471490047 551129968 781824610 154027820 590972843 981205627 539342742 252024870 997739650 892598412 861804268 741496271 409512949 940703039 848922489 723006758 524169399 167873017 645474340 322351377 707243130 470410610 978679590 823010766 622398335 859133825 958556497 591385947 100722262 573434572 451682628 612299013 992408760 767653928 257270488 390425106 269460993 165434235 352310405 749769109 435291103 554360441 907942400 834609686 860785270 809097531 713414808 512615792 564129372 769147342 183532514 119066946 376094180 732724055 863806717 223049346 765901660 768676533 306773538 254951025 707012979 827200277 611738124 775938839 918879366 818725696 552961814 668132178 464691994 933766338 754423544 478479124 616904027 579140389 869578633 767576672 929432170 559375456 938874751 844874211 920650788 187651843 365175600 386627048 589910954 201845173 688152387 469633886 714199332 207345179 828353471 153626501 165783329 358985631 779194509 986366639 466486189 403164037 939727833 888783458 439716500 515648408 640493091 296185219 680919911 183941437 128659465 357432352 765146701 419480242 380681950 659411106 879229946 458819703 407940028 290359288 625561597 963440504 331754633 677987731 385022703 166481971 127319734 841305455 747829281 827807307 912925828 701690965 723799970 929987770 687885922 649855496 701706977 787654609 596244452 802402079 879478582 147641139 103689726 790160155 882623712 325239160 675942834 697957393 713796326 933370835 324245620 216849810 179546900 711637596 270401699 756410373 478749107 314927245 646885508 688050733 593350951 948447809 584704640 670716636 247838065 123800934 101669656 418602237 838852014 745217723 521851740 508633485 604768586 935898788 122388638 679773476 486156096 954005911 192083533 408117889 689246517 854442316 729175747 922727753 892913142 455343470 267907123 255211599 197758345 382979094 712402578 981900764 661547277 251127493 301468987 343314207 600387614 234859299 925569234 148305708 219320053 891611459 394782999 149784622 726043772 388708027 640241552 987537979 437920568 992903461 478671655 383672432 764856773 724401535 187989939 206487439 406540992 818956513 178952014 713088142 722692657 227899080 994665503 897832364 467543146 522767296 205377342 755850357 549224682 977029468 790027510 861173629 665760353 683692119 623558118 716306481 403807411 792599452 100435573 330654112 573334216 745679067 641998452 228713028 865418134 924615982 168893654 477852563 409741994 445132126 556386202 702128181 822474023 951620936 999257927 623904363 379656133 579004360 540266891 831841337 856765363 351473604 832851127 246737452 713179320 919678341 880747208 576077835 969091294 742203946 788465979 446845846 639870260 444761598 653884419 655405110 993611331 985020907 537846113 378445561 554460081 303281853 189471029 941713552 238351362 302687785 157021130 165144598 260253266 515547607 803238129 200710958 208826153 897705820 129835852 936164469 144659701 976029908 423777744 488320185 757044457 890046255 999382745 407627004 610513249 302307867 637429943 512069995 975529469 899205802 374477084 227844989 325201444 982623009 351791567 167485237 757863151 285796789 709193374 868169019 963744001 451521648 670824038 925608441 232745070 331271961 503357766 731400473 946958727 991297851 638025794 672774958 593523180 525484648 409872773 165136848 646535803 264899300 945275243 200628090 500594161 836998249 506053330 452840419 336558530 209640150 190652222 181300259 981785636 261458180 103637380 298702568 808835797 643969373 493590869 425996547 156687681 265335971 177059087 119716106 796150119 451473611 343251266 875148091 231057390 372553383 780009151 129728563 333085492 940150971 532154258 652076074 639913821 276649379 886963873 504019785 553494439 279118192 239410591 300892056 988478931 241921671 124547824 950274449 498658778 942086996 190110217 988469948 798774523 658075699 465411587 946242551 466403335 261872367 175094073 994823011 874976105 372455175 697415309 699329028 591562436 656091569 888164979 536142866 646287523 321624700 759052534 384952231 727271851 406007114 968790099 257399952 605042220 212590349 947591427 956618560 505364916 359087303 953626074 893173504 768649654 332689868 862528309 572332342 498149768 863404681 291536823 949955815 136373314 263927853 635199806 582393734 632681994 384641086 234630150 951039218 867181183 539024827 683431147 724306801 451415276 999992208 476804820 579155425 496097155 700782691 154965202 218642860 293007209 423680178 216933712 964156069 309213357 534886739 259268212 574882625 972359255 703356757 420175582 320635774 372982151 428883850 511667509 812195868 245967006 745558936 451886001 989021862 553971118 226775453 708122995 700351973 655754302 743248563 281536352 450152462 353970833 566124475 884256665 676496086 844401388 356242319 728401598 801270376 442481490 421492262 642839542 356602452 726378342 892372658 326421754 733385119 325939585 272848924 554013316 481748007 647328893 138883979 781378208 795497955 312150037 877937856 157712990 196352210 644533191 701442836 727681290 130964157 614920928 647278607 246578557 230678671 578523484 863313957 614195248 939766529 378744254 300086099 779878068 654198894 860780735 603053125 870865697 433412728 222954448 284874039 751099267 545648099 251183570 544953011 915467156 729905919 140040612 873987634 606750059 540614517 899416486 511625213 777426732 168742701 753625141 470888472 447987325 418039114 496399318 699019845 880188920 114765823 488315322 497506378 153180776 220825762 712566206 797567267 359526458 281457519 805034151 137755527 784197499 904324667 475016363 577420511 670430713 857770657 749531461 573086194 128309925 790601337 882297586 381164908 769325700 200005999 223466810 247908615 680830281 687518458 945797291 993691870 158365111 449947427 259637284 601763902 544434710 708280465 417819729 775475409 855194789 612146578 681226977 561565197 970428177 598472401 182781570 444495358 998778007 725579451 114129894 559168177 666671262 849670293 592184241 509768020 159948620 588079396 825035098 868275697 485497806 751332513 813237970 967994814 677704269 997961725 452003010 753055422 294634301 326145910 517861161 825678588 988901105 798264606 904949654 653110182 594705003 903712180 770062778 574042522 231607059 528776696 495456844 152721464 113697041 819788289 918406288 970560389 167211728 623980937 330863575 802998107 517710044 177017021 877418912 485986276 488452604 646592804 291168246 274409872 424694197 160840338 293609482 134805464 338684560 476538114 581434419 255321489 295812500 574350173 398609563 185334085 731629121 255617832 133938963 827677501 552140161 143883676 434309486 325171386 445400775 717742988 679919679 466252990 164148993 927718739 627590351 666111087 938493404 759898037 943129032 767384954 646742067 678573713 916300623 741816845 786804287 956096187 716138527 770920831 795220174 719386930 446995074 569538168 876236869 959470546 684265906 659421110 102554773 403505333 815583695 490068047 420390241 993439060 302415357 993514877 310947761 573268368 636007787 549009949 172002410 872026955 796914359 110139430 598250159 678101978 243069930 110337899 857421071 100063358 951661337 622880890 611077855 391543428 914130769 344415595 188020223 206875682 465371865 408730050 375841611 498027813 391317360 912857086 604901281 280954325 540939970 612892395 461977679 479695657 573553155 765874502 356595109 235671732 260772618 812042315 118403925 875077146 164638140 684465251 393590020 442982733 458416341 964960807 416499882 388982085 913317005 342972882 752337275 753778100 205132541 779877684 389990486 773232909 475522455 666160255 136098615 357509376 272615909 465142589 831021202 294689901 501592021 663239780 434310048 731809914 114418604 151280608 640868840 198992867 413614289 226596457 663543441 462271382 730837689 890215342 945396383 685797037 112233924 475469801 566857866 566423178 271041579 906850718 702844186 743253645 596855574 984380932 137345420 764943686 517034729 506783281 706179130 177448769 956572769 719764998 681706895 165826955 576126775 903102379 922387466 102725494 226176739 651105422 822136481 364244653 142374361 340804125 263577393 722367689 393242989 900319216 773030086 741402156 275748923 346376062 912917125 503231990 285951560 680464823 824024569 410251463 185155703 495227824 927671610 913608824 107757901 521048329 622866279 581089105 727060200 963905766 337125671 829255962 331348325 189336268 812923020 554468501 260724466 563319725 630392825 475107078 134842087 667443712 616514997 176149495 791813408 784296847 393361790 986841216 549712751 868294658 905205791 552596805 341121854 621367478 351519128 512897244 314758330 710910415 150329242 409422167 596216457 599962301 345603421 294046460 333633939 752371929 975344589 586930818 290009478 176810699 744224150 104552911 939814592 949640000 416636609 266102859 173541798 499506080 453628799 986830321 590462867 853461627 936762148 207302864 300005696 698536325 197075200 787630827 632083577 930531289 777632521 809022200 665728820 403703007 553363141 649484127 239525490 712229225 966111367 925054585 895724546 906776276 341354179 804159365 423296568 716957518 905483209 454343418 356992655 138547029 335449862 250053542 230213947 906912379 380397837 145686938 845810779 156411358 187068339 579837729 252780494 543367786 182756513 345579421 776015044 367255866 545774615 931203024 452859932 435256920 852118702 491318085 832540846 624096215 958934559 884065977 633892277 755242900 929931270 443405055 801219973 302809068 629131401 663135224 928617685 494779571 716054103 525038908 569928004 753938384 609883481 387428532 600917201 882454526 949392588 895686182 708946866 104229188 983556328 220150155 483571067 572570493 799254170 787934336 189835615 313905049 341543281 702413637 470080899 413453682 266686309 898417736 125883689 568871318 712176868 927772756 391031162 520630054 335062935 774084431 463147893 337177427 124302927 351782544 500080572 317583842 976265153 737676889 114332187 667440397 859667422 794389044 225948600 224095339 819570826 525514738 503947482 764167429 118147235 810431199 573790807 361261875 726684480 665151985 836569480 847780444 492367926 452958676 591052009 877105140 288607670 377220107 982034968 980246181 676842792 143208307 301116566 624638959 804880230 527494750 372926305 656327501 988216938 640766596 904619758 938340722 609695114 172464857 124663065 672912671 859435710 547220459 171620437 315133773 558067157 840965148 929825325 250339266 154451335 246584296 477857900 674872530 449477878 684037158 769656364 934901865 537515925 572967209 879244582 727637811 805585345 543411593 767859074 525815019 416787629 475694708 321786359 308917423 549574393 128216224 164702113 423990172 414449203 270947204 702538459 817167429 704085593 464550976 192591524 802991546 580811102 500251410 285921779 888507642 653496399 542780603 923059285 671512108 804725256 637646587 985580915 451765530 494803786 924287966 953127735 574697687 808787966 379702479 947774582 168552753 798999161 833840341 280099670 896681639 919864036 584648166 472623373 538763433 717343482 395049949 113373047 946061359 891920100 884428730 595056134 500194258 304013082 774195089 736508135 648839701 932163857 798609417 710781394 999921000 940499097 229041679 950913859 624659530 435994517 114709634 783819051 426318756 307241719 778652716 594555108 903051563 880812472 578213716 890550915 529992370 618427850 885498174 844062900 672523231 337919036 481689318 766117480 390872802 661702685 973962097 312776444 324368332 435609645 765526014 447455989 171246611 614710354 953574525 996115186 203652292 530258809 377185050 268813799 455788793 296758464 388695176 673579020 202187899 726287436 653091757 246770959 410822498 907496590 211538559 933246157 344416130 306970461 993456976 856105661 833264502 283938163 510606234 261017573 878344070 869426307 313807195 265500872 207029675 238552100 846049490 922394594 743465952 220241017 727486443 528999082 754774265 653800784 174427304 593033571 414345217 539186656 640209943 343136488 836411057 912395043 468930194 424454849 943258405 788820179 349659515 915463399 269024601 210004766 663987139 780515406 491527163 927599047 538289138 860894803 296888565 455606690 316883415 389612965 564309713 708729266 670083794 855995978 464503168 759888904 245996310 945853326 802234612 267149231 994034424 532545062 660790718 262636892 885958837 263105900 552335883 710791975 114649423 950847653 993979301 791510971 597593331 967140570 186709333 448852377 291999925 488768670 731608197 669236483 587296952 333922954 209612326 760526125 421259356 423919271 520017641 727689726 339173611 286148280 889373838 723506592 596219661 129639509 397953911 523248342 845760438 457526197 515702329 594315475 132158157 465866816 136104692 630307343 150537182 586963656 460722308 287517056 730505228 752535607 215938277 448550129 899334645 507545469 846427446 570428733 572753050 889920576 136778576 377058825 443067811 657258097 210831567 809387044 340327992 659689094 118390550 460961784 337513397 783612328 289822399 527674352 564167576 569972177 890364558 450783164 342799537 318389295 693381172 834095390 681319992 362949796 828362845 266440999 496611991 169950831 291747921 368591099 550876945 405442779 507282768 626826466 234547304 619554444 123790299 290229417 409867013 518137382 485457709 954753165 279865155 760926360 735423372 523836239 128453844 586998014 567219282 583905398 526514116 639387600 235301587 210188653 401074052 224858907 448270416 229990777 446302305 778411237 676102804 331143579 252242608 599010013 439519136 437789331 442384772 802932538 529197434 243500044 660730946 852434192 644506953 665211630 182638760 789131214 558069113 832260047 398022913 102834829 874758878 292596917 248195956 473036930 444384380 833630543 263852100 598640585 941335960 392518619 614878502 201313601 637674533 639435081 515318680 685481250 496602053 311108650 344172634 578804803 202907905 721211354 694177880 570430641 513887581 701639249 491216017 217573831 870819133 950982604 516046425 910024126 616812757 400765073 824839954 729810361 417824063 565742526 327698479 457861691 676176732 283258514 164110685 505159212 318846711 668520844 237507284 807376047 101201177 523237355 589280663 996291723 152214816 527108861 466014076 554785030 376074807 472016052 277614584 399473703 397195899 552421035 366680325 930994334 425481901 381450117 784815912 365938383 411117619 328795239 867148467 211556204 845788939 291490386 990376422 973358177 727370527 275497837 288587299 255772949 132059095 760273400 728722197 479029644 128762597 904425369 403762522 463947504 176360731 372231442 885320012 604145392 571550037 162885469 121821036 695606357 482133984 833525826 980021772 351684638 795685459 324170646 605230339 197562307 457460635 795768561 410243504 967239802 942251709 236839729 660741530 280236422 602908208 373843483 630047194 613689570 531197746 421132525 370902256 888828453 528354421 591059631 864930985 170083991 184567502 329845643 536261894 928334808 244077105 898941111 267489221 838571476 834065717 152577956 408766845 962537764 252307034 140741962 322566087 499480608 158993095 479371632 299475790 573660570 150026028 956166928 600174885 484014772 352207878 279826709 861905234 961570396 179722106 639347942 582936678 826427340 804214501 969667962 446078454 571179999 282653892 900262043 409093823 876879711 979797743 632565184 733197202 890974865 778084420 113300981 812718388 707180974 974525035 285407971 614011152 412042920 243349165 143611460 847958882 848448442 933877238 813871729 689361010 496292533 240572616 747958691 998072557 761965336 807249615 282931001 726877084 399144068 379270091 661743611 439265056 187180659 218490495 823866408 688031717 246057197 163780482 594162070 367395590 649630970 118929216 187672547 579586162 389727289 423252647 342156242 255490196 483887318 575190313 586770397 299593326 948638614 243339142 905919836 231315961 208995501 895961731 213053711 450017242 520257615 319674188 881850795 483247889 553775417 935132097 741230035 962646020 936281239 843581048 902615796 812973443 665562646 308593428 550098584 745194063 530084378 852751298 684029255 276717029 447008656 256742200 866973842 773680365 918914837 501432983 197902295 320908520 583239115 757223392 757304449 921832304 141831811 198948349 794187734 746146215 451658746 529645287 800274572 284801610 953558608 155897715 664412121 998112057 926724548 674382577 105665481 643096428 638230449 836426412 417115636 961829391 228915000 534346660 721870970 574093313 502774859 979218156 639616087 578832996 938703081 743451387 266139728 522376028 984856925 801039318 999685070 847108271 465947625 611261876 180917739 720073992 837559467 135935783 380568935 799164735 954423448 405553756 650817098 987797006 586095488 810233787 708890305 234545500 590848711 460615117 363127755 656607759 808253269 279282008 233938572 294306048 357895715 792224155 373617867 933851731 264150001 763792460 802016164 808719481 503298121 643548220 338729523 993143410 464967584 787557491 820770281 210192166 760278926 531807160 706183852 599450925 925606444 671321534 763367519 635524176 995951390 358361832 403070061 594433736 339024529 578006589 348151660 228139075 309819965 243297057 997463971 280084987 176863612 272477720 448270478 728794514 943531039 170976776 800935221 834518209 992113511 550336994 193377440 618479775 974033074 376817677 898557896 893876197 489679237 985591260 782770978 355836751 219842295 615916293 713219697 171099351 542458424 419351868 653769371 510472031 268905548 584109564 885030587 575532535 490698097 794976815 582222429 902720897 883622727 830202519 246746512 637503430 669043787 913209810 401220517 352710849 411469471 942663495 240642998 398275172 871652947 516035983 945324782 426122736 322235174 861631445 792267182 385275723 154895530 722509054 114289343 647200527 769072530 159112792 558307678 339142534 164607421 520254164 584179041 972365728 965270253 315793094 632834530 856453809 258093641 987763060 949216169 619325291 107981831 795177950 508723237 703639407 188298333 778350206 215770717 929105180 532380560 594873942 517673732 744010007 301232306 941280567 114506094 224222270 625041146 479598834 725003713 962768078 764175811 859041362 908424444 759310420 167729398 356625676 442638953 428862812 899907304 141289507 345525625 554200930 802793670 230104040 621686644 532000767 480208588 158376693 579344747 193052796 401654841 526406482 782622050 345795478 402213084 376317179 474251790 849165180 585569654 273738863 787500948 787420805 883426673 323018668 712176385 796281614 174915269 409912018 234726422 814703037 135142048 898694674 594002239 457056046 736472249 135937755 983016052 846995226 655780091 411531022 969393259 879858028 662259626 730334614 816973167 408029948 199627596 892235469 198289233 884727006 980753426 478936651 269062080 342214390 154440293 656898287 265489498 211161896 902366183 418190702 378902875 167739258 850707079 450037923 522513893 476081451 675481985 155121937 740408132 674195577 933865677 286483620 397419919 971465607 278286275 248434387 133179582 138341547 820165321 658194478 710909709 393435312 999323276 116303977 801452141 358224805 950134986 784278258 154322036 384409985 955005094 918899215 944107394 403962023 182439798 628379102 419205031 676845740 743025997 894938507 645616887 865931963 633875496 903627767 386937195 290247205 908245432 224623355 644487590 636911028 869214203 819646729 233367190 654785897 731638079 108249759 181790286 438455784 652420563 397840048 706640338 490432092 976612007 266065172 447344467 582140388 656339423 292882318 722414133 497080523 243948905 691357347 654406419 418969560 649075427 841154981 186835680 955860504 266645853 278742567 532560641 997267565 415671549 396652360 509236496 202215553 872972365 355987315 821013089 129059731 460039627 935847590 644332741 825908919 864946041 918545003 843479212 263015811 675740858 529171094 492236760 862082613 597956073 831994800 987497486 858257384 810698670 247648913 548251810 615339845 247742171 488223307 807190529 130266419 160130322 692859960 781398607 778600801 720765669 206347510 370081185 672204210 665207063 646355597 313243696 881812172 257649366 152852316 183885642 945663595 605941326 577000299 886447972 379832981 127663421 279251990 646444118 895693369 719358468 284346265 352309078 597300278 536337752 734427353 927002355 756021887 476673849 443044716 494136633 800018200 838374690 304571376 458027750 972332200 380479104 996659377 843152250 639534448 419451208 248642064 586460456 829341791 790467439 386043145 332891096 923825014 570106444 347906882 370373198 311594983 924329891 583097107 205537194 991152749 985412343 358701281 264924650 409234019 967543372 599203901 865115860 315450078 567071359 683909114 229755088 660197068 652201175 277836876 265085709 851868104 371886258 937593604 847352915 543716868 137603175 617573860 857728087 161511070 166369415 366657537 819187649 293682875 147552154 228161240 462231193 153735566 816033795 702481459 811141201 761389882 963745879 507941876 764594358 501566818 275046284 871117481 332131999 857221478 762185977 271935971 461958943 731724750 505312824 926501492 701738928 466898146 225067014 741718910 792231528 795289677 345176347 206866989 402864266 803381301 380763060 794763916 677231240 609386665 142757265 544420067 591265929 783450928 127116373 433795385 837802179 305056259 613974958 450169019 235966012 106204742 189210231 945625370 951762154 977305431 307428686 515136578 454102387 834706897 156693061 857790602 758495126 344033687 684978965 915390146 512328985 318354576 866861954 351848746 204221257 794181714 299426715 433079703 656851621 247851360 635378685 902115830 431025734 281497815 910283719 714945185 835996323 215102015 141337909 913174916 425856567 274815176 573011052 768183993 877369556 689355922 659697788 450827752 735138324 605034037 612296390 953456139 251032897 850337157 942787433 759922875 267536506 730116604 261819594 546567926 231106044 756782270 676420512 177028129 345430429 164856263 274420733 427186626 122466873 178868786 884843035 379707352 139849940 124736251 128125935 971087704 161841336 544904178 825913629 614584311 917781191 435500476 525442814 929046338 645347278 269440609 589858332 535826404 836401732 235120168 291023638 705827254 761417184 276287605 924491377 839990850 331324771 287427589 547553816 897104375 103250983 315452839 834270395 104151189 793777939 374811020 453863173 438043197 480201770 374718127 207853168 685284168 651421432 334663586 862598858 449771759 271456303 339836337 726252287 970358996 639001262 583341106 293588710 568395602 901500887 730799253 220105775 228596451 319474481 283736012 830622842 258329617 221167697 153512861 706970784 345623814 459034325 673058127 663250577 767814607 890707031 236215793 585555173 554095469 232373505 769089992 746495811 902923138 623489550 816898158 682959151 680229373 449537092 873696471 515679579 486264428 627871409 189660437 771853565 377147952 332088753 457775052 836419672 979546853 247390058 659170705 874379938 924006678 676781818 575941216 434228640 553306778 756450656 726131014 101009079 956317282 229853982 812145025 414503516 990872529 864852026 927874627 135418160 949742390 129740717 230070862 249347858 365136445 641016833 679037118 197898177 365552020 924227208 164118705 219466299 615482683 846056690 316319602 251854798 940061796 703056889 253713057 747505577 304431630 784230393 707635181 323421649 798602629 514608735 346799420 719123291 233255066 756821234 405839976 485230298 343966769 408243485 123744816 530614430 859890405 584524636 509528781 599492118 131977573 640429937 663096238 100930374 250636585 508013798 632796703 950678686 861896713 726585225 415261776 514848721 525483122 911239495 862470141 186019133 955079230 823891316 207846495 991403419 168621504 444003097 137038830 721265477 997340568 669760487 972391435 326336784 281510878 342050122 548544407 803677730 917065568 741475223 207662301 858967916 908007177 878950608 775845804 664821074 959452893 530187208 328525674 568092381 353927461 379988249 246364830 606324320 770611545 580850449 848654157 114689133 869063072 459245375 704553163 503375752 274887800 915056312 223822497 113640505 837919476 949031602 867317858 430944264 149899527 395512302 959135788 343224018 183583298 621480881 404933327 277620954 940194705 619008193 914416981 946718675 398242631 980803966 981878736 121379315 379707375 354825105 764354313 740742882 229044080 351356114 661159958 621501654 813151856 278046995 470809453 383885586 230390315 436954052 589223368 470125747 565849231 935741583 358522920 511994470 729457840 530835255 662642905 339584258 668849091 291263177 583814687 314406608 842582713 950812983 112615971 190646266 819917386 540021433 879174611 966625657 871064435 733454709 577304641 333265297 710505301 351263048 478644011 284868107 208753136 132720687 462403372 882489566 878546179 709007539 726332261 721590346 740646767 278391315 119557625 676646612 668269855 718795010 853619992 180361977 942354888 723751550 965523091 510650417 474003890 433660473 125813367 143828329 892329207 354460197 546532678 450617943 595525028 930492634 125948395 917098816 396525124 318740977 490608182 682016447 707066468 129172451 846340904 337510356 203700214 959086719 696930265 329610452 299165566 478660461 812465485 335171552 129709478 345248527 722479476 203508940 615437986 695250488 571929908 895442083 347148957 805978107 403992983 730137878 771658289 231282242 376804086 718544660 840632420 276493528 339949711 195397220 223468945 189654624 326250875 384270008 103302948 939632563 613466886 646860758 245139491 289873954 231665827 251652750 711395157 348248699 818649837 985930215 439776681 552275904 374705355 580721597 493537261 165870682 286503084 805044410 141406520 239061470 919982684 958629188 987317923 800494004 397659205 468202583 712552021 828446924 197379182 869393886 839863484 856702496 673871182 534693310 822264352 693840822 153058620 502855168 516888329 160508242 226140877 121588473 942733977 705212915 150725989 362654637 286125329 105171162 818101760 550260148 788121708 276796507 752342623 181509846 538896361 843060560 365644210 980688538 985265927 523977485 996171278 939003751 904715733 340708778 384705586 904287155 976089030 410128802 877446563 792380279 280423982 411416862 863522265 697910316 952284220 301021318 654227681 393858621 275087475 213424538 154666679 454758730 986671472 450808442 539016596 766706151 709459204 804221285 557229775 744726471 557497297 201215645 280990085 316182718 281085474 595063108 125836637 111141718 813721843 298250363 144750591 761114991 143282316 583307732 485341737 957592280 444339829 793591972 629503437 973259070 943247052 470300803 589947276 906031700 535634570 340935263 340900090 261208505 742471126 650113542 631802813 609094286 564584493 650417995 803591486 696897089 256422321 992311971 175158951 895913498 645028564 663833348 308833808 331923231 538197266 188809609 249006721 232648508 620597926 233162483 110104396 242877319 286350977 998100109 332756318 755025840 915261229 867306731 626889408 270652017 691710515 555596172 833062160 578538159 245960620 815004845 985901575 371261544 807164997 479486221 854150810 690104109 642633758 551048439 104834688 862499615 282780275 152003634 553523455 667065474 450207323 719354277 750290821 543306409 445591861 860907243 225822723 139391823 387848364 569238399 187751971 701141344 896603430 417266729 693771460 508172535 205035289 455251250 769459955 947002204 774220320 566449208 625433737 546005838 485020158 321992241 413199357 672208381 429326604 939655334 775356634 124860361 206527759 621610258 168424392 618286024 506810798 723232560 721780566 764722233 217716435 740186213 849090585 312441024 999595618 189461586 924785202 682208154 410038820 869912538 148005687 812984347 554662553 657136134 910410023 752904004 351032729 281311855 297544778 534095665 526141488 611349448 540119295 131763568 994801833 561325063 305960440 242637151 927637395 964336645 233043869 230078399 473962357 395472057 240745081 180756880 914874376 543770106 973304665 172020015 733046945 657160819 669248518 955265076 730016653 265542899 406226911 418175312 971940397 112571770 326428508 154433208 908057008 255028409 815416286 556112693 526520879 215982043 943299009 257859001 587468538 983368176 331856095 818190773 253468201 474287577 404274979 331346634 761664417 167428098 418139223 839213227 903152944 824243733 858492478 922998714 865645344 747691696 582457557 954020204 127043177 645894619 649195365 855490938 388303899 639782192 217036871 796278306 951026548 324168867 794831766 867112895 435088656 467945322 199339206 495750160 810441680 605795709 663087374 163694656 475965919 824832845 940682740 579695910 938458787 299196945 507686665 989057625 914218233 418346081 424054481 496544692 606625051 647032851 997965749 187555118 433580899 185135852 674256970 327055209 817433576 675719443 490290348 743654793 184868083 272550671 423264965 557111160 597654318 424752732 897445142 483019515 414380376 743870290 812487131 538910806 647717631 457502376 483501832 144554466 928295649 457463630 385768012 931274471 687779653 548577963 972444660 457444203 806702537 940205482 866676917 526623643 170553512 725691869 897334498 383279317 791825059 715407521 355966854 328889875 404844791 873287651 485124812 326551798 414695827 453369586 763484243 338709713 468560222 316801205 800080479 320780730 369279350 295889034 283570094 183143571 945412043 171982941 806608997 423150668 909094537 630100396 347261171 320285524 443462642 348455673 675736010 478526896 568403816 182864072 216417852 118251161 520536837 391288640 774423927 312517465 931111525 640059757 615679524 213164819 845076918 665830304 170229120 847674310 452470822 708986817 405258247 676134368 838955543 224268764 609702103 508361804 887386929 166101063 359771479 560030926 979414969 424505372 661983392 376986224 500623975 945996292 987300957 533053360 816562688 676718204 531852468 948563030 447151099 798367852 433997582 498312823 803273902 175059085 731948786 389653610 398661329 927148574 961168815 394173042 537269072 944484158 889151204 792418243 710412180 264520070 954495684 752449961 415070962 813575475 901433618 151294413 750486742 832096204 237944029 130861782 360656960 385715639 766293028 192383720 812788585 338528424 712204303 256598792 519692856 441549785 435305134 183981714 159885100 651557375 715737486 368310822 907731667 776351618 431851057 186152466 909924197 394109855 283172365 560430946 856667272 299191519 280112526 593394655 889976944 953241524 795500542 910099747 771886910 751824792 835981677 826821061 620984931 168578788 187797209 422905305 305829523 644861265 465128809 563403721 887210583 748771159 905261774 193428129 472538625 176743687 257726544 244256364 331607185 221289779 963943674 373988980 749349896 828834312 246074924 176848637 548835665 515013766 838791232 543138208 440656704 913161433 414553823 294878595 961436683 520321137 850713444 183253034 822873484 873734674 525507865 932117562 671663806 143978607 820614346 971224511 117899434 461264082 391300290 483382264 198303178 557903265 548361908 589555083 700162812 186032190 367194250 728585684 119845927 451303144 745047544 266621073 978279251 475133519 372789473 779502774 524653717 128563283 345876518 910737037 554858745 733571531 704373815 704712017 393368700 698583062 487398860 569185304 465082639 863400447 854790698 177134167 552058543 507647416 796058369 837788582 678879442 282054908 908231876 530750613 855452520 953883746 336834885 702211224 171106362 509313677 476856199 620369205 790587483 927987597 432303441 666314399 323054116 737818365 487840906 125852524 663296188 667026876 177756484 526718586 198641532 899133254 850947542 296954640 861165979 599458271 817312623 429117193 598252435 421393796 532540742 634715394 823823650 714251992 114146833 400795723 861122557 443601200 901076375 641335605 621063930 903021213 431672078 588243589 449774611 774357395 973639350 581777461 858032611 993680440 218439789 834324743 231223761 993990950 839472489 657515197 664965554 379683692 288431918 120708011 162140368 181112036 375581851 746626321 634940797 199321915 812120046 165886863 802353425 239439172 987011534 188561438 251166267 300906160 993386209 365330878 623170974 729465117 779219341 964175260 750637673 859251717 116138001 355557769 156611163 123122050 997723004 366942375 153722303 456359754 257090642 649187659 462157702 925925684 785409670 633306476 252469054 934727849 889313985 978899103 315946478 225414112 261611726 254829520 177738249 994012681 978721243 239189622 477718598 111940458 486959925 771166381 288151719 592845455 973338124 670993311 874993933 134143301 280133380 424912890 506815163 590934753 796868335 278684994 422570637 816170793 433418433 915912102 987273043 493284773 290907430 306249419 945376961 871718573 362650301 735518302 569794699 558406617 708790304 241055167 326056276 729014468 940727700 411514161 166545498 249672042 468283753 186993202 101819142 691895087 775410474 941480897 173817131 282879316 333168874 446271704 426417091 722158213 361340161 302201158 556205646 173662559 706709892 415671903 680883554 141980271 532812782 202147490 397735358 814031054 425527255 364152649 601491653 951942703 833625548 464896224 920670534 240582519 914273842 857541816 838808185 221392985 202763075 996768208 147186925 967268845 233713685 335240620 126752988 145337479 265724349 896113550 915913032 309426046 304134437 632641623 918603830 833598791 842000306 940497691 641377730 298689890 587701674 533884130 919686820 853931434 899169224 885765926 960050295 435389883 808976376 918999875 615756063 287085910 121048752 896644538 676998716 798944735 288817146 841879697 376225551 920629965 142181465 463689258 170093741 594528187 903263454 795748327 738091558 249777599 465970970 503675794 236646736 411261335 361272404 530972379 707168706 216817436 762604575 572109790 897989166 784993700 744879946 357307238 222013393 533906312 288948540 960335780 692957296 798944007 195644532 969607400 620843778 720870628 416359580 917512447 350598938 464110098 985007337 632148077 843599517 144067741 901232878 274195604 219285411 761343665 677141714 393423650 358054031 916289421 288269645 398778976 535035677 529007886 474154443 476862603 542427263 774637500 880725879 356699644 241913674 671234461 499705647 476064742 130754294 845245600 416904218 344646123 391319268 668841391 398367351 967193682 471865116 985465789 571226712 866267241 339347458 141085570 119507998 317961235 827258670 373135960 456901160 512235984 170238836 798480718 605107571 651004155 741627494 287149373 735133327 319375166 828531182 581718242 398140540 347047779 348268565 915193040 202128511 868567727 250793962 666135044 627085465 657623811 981818930 286656841 904787266 188703499 577366718 113192240 237876666 439479725 219697049 732231669 100176706 177781687 682333165 589396719 309308064 147873077 825480448 493279715 848286151 657445912 284199870 148977731 875354704 705616162 569037883 706233737 789634894 818191179 441108097 279040205 868235489 198161568 536381052 225298005 288822946 306498689 779429447 778171883 847479108 708894413 400689986 119643555 100529729 345308342 538617343 965047273 645960260 103025887 387768644 634359699 280782843 200857788 516565483 481016585 597065090 117047614 291183654 769484406 842596663 423928371 777666088 885079376 493867626 561216214 294170484 366125620 484383956 549478261 300885018 276237374 557484775 639644779 894780608 564256552 491565817 487187442 295167017 722920403 339180457 360046676 159677786 852750206 474539696 882742740 372308076 208268148 320322884 428968465 178719234 735947062 902887859 439039153 675515010 694168990 228773893 872082927 385443054 304647755 175833612 199390594 957619392 254203385 817262916 194783594 510037753 119202022 475730345 843442998 979724181 718404786 972103190 495387883 330487112 427133091 218447088 994974029 764916139 959495100 599903126 973553600 285067775 207000337 389431093 824801674 270024913 991336490 962154984 631268211 930543738 727234924 460605288 458322383 263253202 441398762 996823098 429650252 500916704 172215307 831658824 628716899 604729906 387488217 176977511 226884932 782307697 439298783 645100663 749910204 970837442 932781340 652306866 165017649 471117626 566476081 365353825 151382135 925655243 809159303 330445824 295825433 979036225 556813426 506859762 204768447 152075713 178957004 854033499 649113016 640234649 761682131 328014394 602955151 742426505 354160936 683951457 388619317 412352192 202027150 715762719 205305240 833569510 876436914 631882484 851515285 683418368 740128698 886036546 996900709 431022708 948072896 906097093 302129118 774275346 970693541 769231426 862396522 878259431 319789123 102717825 775056497 494751853 750941456 501744992 812875957 800660456 276376280 977796105 256011260 524656942 930181578 133815532 834638026 362564995 541438454 108346573 557899346 414077278 361968480 688301240 862673171 216630069 620891685 786159713 543280845 118902743 864016023 989124991 332532911 247756401 142327102 342167469 777634636 397596017 408277199 942450822 165410468 148483187 463968320 104427512 604481608 758487499 922469733 584356320 918650270 240775459 556475670 632490448 606976000 219289091 371337591 999300973 737774096 883960403 779252869 812187842 239178774 352561194 242865641 830941927 253588098 918992729 539705107 369529224 514840119 389717550 429269994 466811370 982689608 264690130 246644706 536216299 392281968 542553586 174001867 395322608 440911591 664644147 539304399 392744463 420099835 351691238 461390750 508332028 968535231 302725647 560515024 502538353 286858640 207352297 963657204 111946682 906001169 351487015 624163759 499978259 478506079 578318871 357122626 124985074 704954837 346045182 211685737 673027979 614850133 435758224 141750899 244136436 313760667 164469700 871066856 593327618 920576378 412221205 492471902 281859273 249474772 679119479 336710453 403672636 314163100 618124736 697532736 780656150 174043102 563107234 715028785 375176195 262591874 644283276 446099189 261517601 451780245 206218899 402582352 346314316 291569855 925604003 312542569 249851701 132882417 193246115 996753548 308434205 968283593 848767341 374343967 348946526 157916192 376650010 255962179 544587763 382886990 103068073 603496572 381208612 730181478 629088317 896296394 856002344 512216642 811019062 681024803 691894665 223403925 482012120 937330599 239935093 968175169 176352599 858477539 135983883 272604006 464779618 352228293 401093967 979097740 616190275 384149325 784084814 597622287 969321969 139906652 365609766 493222656 996886369 422282550 740715564 325976941 798578457 300305442 632913141 305563302 906145121 811354235 444799366 724720255 504475578 826851059 386085403 203859561 937047582 285516944 957958410 328028925 548010214 183717899 370047843 875716066 290798084 685492541 253464135 706249599 427966667 874711597 993781373 479494815 737627235 688270873 722739513 145425936 634367270 123858588 948520236 280403598 961733871 584944022 127873362 567813824 414373226 175053839 314035480 677986774 698259440 567947938 846912608 309229930 914467748 770530716 617355828 914016731 139330059 349532200 351681619 384333241 148986874 126351352 273933466 752212530 493243358 464343210 635602358 548561948 365486776 760320187 933562362 752433617 715953753 618175781 696662279 486612536 174012408 528279977 201866684 443074081 344676532 617548964 478231472 787590110 150346609 532202695 661623146 171587637 156317223 751555120 552696597 685642340 150402804 696368342 947204176 324072382 374787661 421701945 808272222 255443371 722633090 647557709 345307787 388717222 166393759 973542806 795617596 244903138 835411953 435032702 365921886 344323017 419161022 872688865 240962046 887717628 844295518 158903680 774586130 496495382 651617547 372286746 428686110 448443047 784296300 325835802 730580692 723294098 152083672 906545546 147995341 456005697 385008453 974427203 310936578 562076265 570880209 772412732 102227919 240470010 759919571 832271816 576863605 391154106 754482755 519820094 583840673 137993773 415792912 375567285 608233966 725284105 600596393 417727548 759912597 558412250 773944214 246535432 977942545 472328488 882467712 264356465 216909129 822765731 798267121 944638565 995036230 798921583 286152041 397051443 465643184 482088716 903002602 353193856 291010078 314344232 916795467 238386514 912248606 161007808 345199258 327030230 360964085 490657042 358027841 539114353 491939706 769009445 653803828 468619449 196034937 800090006 749344612 359380780 253619384 503197970 976789251 952219025 435950376 793730937 925239946 637035308 816779520 566599891 548614140 680575704 821780627 619009924 909452600 739792417 397009445 479115408 212924090 606008045 461965058 863535858 299734238 375165768 290489587 203549042 195378251 558154328 140813048 357795010 419923597 402746234 149463949 163460800 241408215 136416065 645094688 173557528 893010303 583964186 432456402 479486949 701771002 910363434 798994412 143646085 632784197 309932632 751563316 707151709 528752079 139060131 258328548 853708634 584536415 568590198 451363477 616659640 666983276 505378262 892704803 124260256 272605522 414204402 794050903 236581563 197247191 427790377 497939146 459803167 141266127 900759012 748256032 684769902 461602134 129830064 933282244 375502633 153409991 290424079 218732108 554957880 941916895 335522028 406842602 477124807 700576548 453320867 329686555 278503690 113492673 635195673 412244603 455867053 806248393 580095586 625255616 780554642 218741695 504221846 664345917 621458814 799984530 116724204 583878716 474807084 706238843 329634769 986653313 644502790 108207611 808792258 145515975 201443242 904553167 800912205 966862542 362778425 125312149 157405613 347173504 949056696 971913738 392156811 567664054 792209150 566352048 993757578 473134921 445077970 967011608 274232322 174737483 986478597 558783760 649550025 429259315 157434458 623977518 276499022 191962016 568888035 636395856 105723412 443492471 392904857 138754154 765007259 393306813 280744985 710199249 125919766 425580347 251058908 621662560 274114958 406449535 817701706 438122492 852649170 461498439 629301726 428763607 296936921 600035371 369130582 348559823 491135289 579638640 880254399 963667137 312545359 701343010 134764500 617251963 449049836 759782892 656148755 776716908 942920776 531429238 696459417 774435431 354501082 699828443 565627920 323401758 812622216 179003281 555584371 457486386 541398266 649921393 402821561 997985345 887077015 825238672 833599237 245085198 443862128 806132877 316572434 991861250 515530436 331667297 648360024 556828450 518739510 205254320 597635247 626696863 583658758 937732923 283205896 652413212 383546267 228947807 424238123 199584066 754258767 225371149 235388686 186302738 970012785 246107584 835509241 825739017 798540015 430089011 815954086 555606110 342096553 320696468 152456219 907150806 774500137 656791769 507406488 286134944 718126889 284021732 100775796 591819609 315750960 789114404 955062440 138239061 290281687 971594463 237982877 467431626 630514350 568635378 650465017 500968372 135595380 681651267 147975890 789035604 414643642 128899999 923053196 967807683 787736983 703630725 763432591 749644074 723379192 714233512 589451557 678876997 818668306 692556856 916016492 412351847 276401714 194061536 767423942 283585916 696156661 614469565 589581401 980697806 772489761 754347130 491745519 664875096 693128283 739148850 110380651 920048720 903792513 319922886 459095654 108969478 711150756 133667137 710786227 968381065 521210100 367949334 654262995 718615943 991276162 550769676 608633546 663656081 586214451 764567834 548744210 373987852 242613481 317191612 576259161 439483799 892423127 257160646 454871930 676681445 660204202 121725507 112298541 740962447 216319637 207700199 708700690 554120598 478527251 136432560 248901843 466491317 955097605 125901220 110807006 454114353 637079269 567789681 606931092 114285938 849626177 349838871 248731062 223184413 945775938 755087467 445846588 812174388 392156140 625603271 606909302 543218740 259893107 514272771 239020583 980365252 714530577 186834639 470394214 762786187 912480675 659100663 757617551 217455501 610831092 759021370 459187994 132746836 150255339 469117732 643801412 390990096 969965717 442332514 801110344 637448505 293929564 272550586 112594566 866909898 796988279 900399036 236911434 526937106 556118282 792510581 885236144 682485381 335518539 701672019 181529013 532885813 912123624 123862385 908479648 892787394 947112709 513717517 388648878 582633054 282064071 748511739 993754245 263273190 899112219 385852898 341974171 988974165 385532647 252198147 342120330 376145639 902126509 108085877 310568343 961450888 546123952 554754857 484037839 670880009 350202227 592840343 751466510 648271620 573741930 914222208 248248789 897700086 946775166 337826901 308242872 393720581 569930573 355603095 239191670 180759024 702154249 337022505 585741710 456143981 569335825 398874422 966397231 559391848 837184652 473059331 736318714 216460470 368310111 863553482 251625845 155392444 523862741 694063072 886424893 533452430 427545743 142463655 125619347 949563937 338305081 524941854 249140285 595988279 862419332 747333462 596645769 711631375 647382017 837698289 327583579 104327251 118824611 669649301 811339993 612909228 583163073 688027044 563013553 689237224 418383797 541776028 296908205 823283007 257328789 856289176 868404156 448803962 375343856 157977770 215812975 651179425 836645966 749226630 474720568 241731715 298617304 367506631 828419940 320807252 853470674 480750231 974814477 216808222 517328604 219039896 419204863 697393873 879964231 548084675 151410750 524977179 411827481 444518046 283680949 255148590 510283774 672424455 317264037 929369083 968005353 942646676 283352651 373065253 955382382 419835846 249928339 828756143 626550644 978022424 590060459 556327115 404286673 633253441 455552848 865169426 503747655 589096795 248633646 961537041 223590931 642503797 559118290 424586652 372509110 215233895 708031298 805638720 518490017 321564996 623905785 194063078 636199867 413413094 871776681 434518428 225034412 385884460 942502585 886868902 427557394 393860400 834310069 343075142 839508714 511506410 474074506 955667446 121983225 845762804 661376001 435092172 278345185 596595017 282197334 660729450 611074355 519657558 141113182 291357561 347264672 828231223 438339366 953828772 876345253 759826958 812909683 409962835 517684922 410270808 919774412 511165246 520709158 738374239 387672721 831562806 930275503 709704709 683517097 624053567 353944111 582056479 451426655 878800776 423250485 595593498 704849041 222842301 988742507 757367324 664010583 956132453 341654709 793082616 297006801 790196641 332877491 321101973 797171985 247516479 437732794 146728523 819350594 780341019 911621105 854968639 855470233 419567205 122888298 216046631 229167453 309113933 587906076 287803100 202277691 811585337 861119310 115353588 994099248 451034708 250709113 995734034 161189538 898074520 281115391 278463000 553111893 861960038 669549127 389159501 363545501 827767487 154307418 585310060 144331941 808906756 459266991 573706295 553838881 832734908 569890529 717346426 318411549 340456644 369370222 600490259 945902611 449584063 396374216 629512203 571993814 360147819 913625534 781835167 673590964 603825227 841275200 662377450 511730782 372045881 467523533 891820906 169434238 984996364 990819376 627958703 197143859 741916207 248849643 332601328 202819284 802683144 797830812 549265827 226514695 529150878 191931140 292851476 198675221 662060146 861591152 562315139 550993862 112812878 856362212 417113650 898739381 711294846 785045834 548098050 747321745 712971632 141241494 963376981 836062027 320208739 293429602 318068248 975580450 876158461 454309510 165559653 462183152 566354078 909626223 286555392 770401642 611322684 970544306 839169322 225835307 965446898 567402482 662829687 425476230 417520834 174116000 488696539 161588887 425258071 818628191 298736204 471786521 997284475 845100988 521545036 537737624 339456595 651622061 977650074 991886341 138962616 115878444 419088594 371818390 748699821 719374542 887527098 874103053 808525796 918121827 300580836 339379415 699459909 598771999 699612005 104096857 802883346 204097630 259878193 702665117 100672218 501550641 109995417 237608212 325105349 957503496 810873933 621263182 156356696 253476134 250134208 518778471 528417679 181254868 487432988 497271867 742632091 559024000 542033150 745290118 891540311 892810577 342156628 669083751 790497045 493614295 489974756 624553421 124565250 452474635 282133845 943851063 123770111 660035657 359536951 312946175 786273244 462719648 273942222 539390663 542854927 612851393 612300805 840348201 566564793 342446994 923902689 465451213 692156130 590677008 224801441 335660888 411650324 424565627 307315156 651155277 742023001 894878462 765561297 291330826 745404006 227846043 544892212 517993261 720192420 549842351 513060211 236303562 800347995 686088343 558708498 911317700 809236201 500222682 852759064 359301316 948956320 156467751 215167280 539637607 938948131 159380003 326038044 143840996 329141586 508969939 445792969 345751552 850019892 748948900 705919781 726518534 701631591 231753787 585171383 448682684 421331823 122238383 209246766 482283030 689760883 945336736 807085851 115056613 190566647 213679369 851304766 593603411 753279928 727444952 183244390 794346177 372538380 965891747 797352277 511824666 124897190 800058738 765550469 202746466 259999586 354597666 391634259 941305113 567070100 806806633 364515824 189100611 112000787 717110810 924852832 821735882 549187969 949248353 411992566 288640843 472823629 167874743 213207884 137599794 819840160 335103448 388887591 464349515 902501131 565216434 714556295 739842217 984604430 503412972 383250666 338539524 997524984 317193974 857303379 756527253 793463870 171482382 189523411 500696449 427420872 996840378 535969639 160353383 847417035 731983593 706275985 990296855 163414078 105358987 638155303 523359844 702921364 632799144 966148655 960248645 879921383 767290057 569710264 258840085 158498873 591015882 948623720 915816642 914807532 503891803 633026671 506361421 797460927 176737840 199950915 573005846 766764605 923765868 603219330 343007218 321158231 395939154 797254675 832224505 511168733 535129434 391291911 590759272 733793449 194929430 686983673 465545431 211847279 191322205 291659433 534834024 557537995 705991264 149202421 387785487 493687279 235446046 427230110 894550727 631590262 805509993 786586012 445344692 716134069 444557026 559480913 539636024 559812046 656483351 151812143 187687356 264794208 512564730 775294676 230971832 385593554 417721720 574481928 696028021 793648035 861799113 479964991 281722848 167401984 897662934 747129836 242635265 436044871 953366897 387556996 996095734 420090468 750282529 568084788 446453293 786063758 831624217 820599103 222044632 534204136 752717930 999917036 712726763 856812553 785762316 842124296 707704394 899578319 207354434 613215280 652275116 755940769 465579982 799828706 215242486 535804512 748702022 584621017 976488408 114830493 155927308 896835418 655367002 154701154 469570839 253788733 532768402 498543965 950769216 625815051 256025866 519336769 901453084 163908153 937804662 651221657 568439024 838733173 353393429 729048989 181471777 433850177 435603762 774539411 700981633 340461088 736309715 211629652 793186949 335142541 396772958 921836518 948317896 755679363 665763714 917294819 588373885 727595807 197144900 495807292 216213083 685704995 963411052 890926561 949854949 856156224 999555643 353324594 439771634 255625416 289337014 636133667 571676614 564108114 837803435 189840304 589929843 368918640 882321176 810587288 425898075 744552082 846703914 675710260 670867166 774249197 620054659 188865025 182100940 936290370 422575360 221116768 262077114 861769590 262240715 908620477 151130846 915759307 466932472 651254256 318123189 635756464 535786884 979903734 149105723 753711367 832646518 708983889 781300736 321045955 127075141 546562809 586251785 619785087 657502799 289508059 726687907 705152425 271108585 444240221 949204881 654862807 522310537 220241456 280788057 565902204 961012198 533113290 793914600 238778500 183849301 692053623 718997861 651387981 686714000 136041448 937714327 426922849 271857658 399727357 757590516 137837150 942208011 372458375 558732278 702667789 998491436 854270725 420788555 513171981 938043872 756765440 253223243 139161609 610677906 714834182 284843046 713235320 264724453 970958659 332208500 912555671 409599590 295659182 262416842 885069419 294010825 173688396 277457981 788087240 658771602 877059323 790684282 997088537 447892049 293367996 563759719 477532156 235447296 370899761 640047528 570560345 357242859 137683747 112411005 286152857 147409140 527590784 579340714 546046136 596666893 443637679 231446143 350255623 655363541 631430083 999950725 556892059 454600501 389484978 329889382 428050737 608624691 150575538 265902087 670716607 215736111 894598871 214307549 796181713 691211590 644247129 160127482 612395931 900146335 462850146 807755234 286222893 504251661 518774866 283035562 832723070 976922960 284697902 973243418 822052488 810630966 534786584 651942239 908978757 345415102 248741005 347476025 877374252 913349843 880448417 493576439 950552268 213248121 630032318 692875070 587507343 425377995 592859782 867712170 936183692 301382512 258233123 776814852 544656044 907295267 445126104 481841310 988916846 315065781 368488160 877400864 734240037 622348072 121722685 766259414 361354847 743078752 898141801 638109615 143775135 925452203 469370900 223858662 928167357 738932894 650172547 386771361 705238973 525446407 567129901 824781348 919981689 989004616 157273697 157413141 204090439 631923205 677357232 900760732 375780765 487558680 244527394 581518556 234905122 936887344 920614760 635038084 193782862 583323182 188367346 712014704 627733728 918973970 903876739 786114971 659827470 851683915 149420199 979360267 232179263 770310480 652804173 110629057 570848882 395144048 162326492 794297442 187329119 386603026 991636288 907688658 258728439 788565139 597261459 878445983 938304944 186882068 744471664 251057361 341168872 974435585 715415245 595382628 747115154 932659486 567518270 212695185 730394628 562765497 386333890 951317907 679529562 896175763 394194157 554739733 855315318 330439289 617942631 618410014 695358556 257061677 924313408 424877252 344356334 504217963 257546594 549776826 754977790 550672022 533911855 756679246 374194644 205898194 231253091 238221031 619126300 318100128 429481923 917487402 249302085 731178151 750308350 932719061 560855286 100757812 265909925 879532713 189016795 545841879 837808084 226106007 292799105 373398840 327725219 723876156 767219057 266183758 922072509 587851318 920426787 589913977 629485564 518076740 192445796 192858114 258775335 527162079 506969806 777140461 356662925 263878023 745102135 454815012 322546528 298436250 945668607 261528264 468906035 793004106 649689250 338865581 842725546 609200297 935016715 881004958 766009031 519145118 475876433 893358163 475360153 446627337 732164705 259803368 721264006 978003614 507698975 805723461 396974051 948743839 644817225 599508813 321962760 437447998 377265283 590264530 303955970 229188469 274104391 397273588 313483142 723684082 408966450 285124056 906203715 470140651 532616820 120117674 353054583 543589537 548385144 406271717 706430291 881158571 501659894 389324154 974941963 974213828 337498906 420015294 988323226 108453756 369813785 623907073 893578009 974774246 293597732 914496870 231552771 689841289 142699988 927428557 573869750 890393388 688113223 396907963 291613445 487831910 124676153 421875972 732493879 538342943 959794358 475020364 242446082 154274305 935195569 162377293 864050672 788401146 474450511 688603121 634741182 800145818 901208784 775192379 132406661 976935947 725739865 373759788 763718598 817619983 405076113 914607237 839026710 230266566 962281922 677231153 784258295 448633512 665745158 491007962 438438791 807722814 446385063 845638097 913852007 636898985 946280302 956943214 910055470 361864045 594167848 591207426 139362434 117019451 418956777 106161801 177407325 177751914 549238762 578215809 507872620 436087488 579050026 611216008 111420294 880852082 793737138 660931959 718814657 474577030 587811820 542595580 592569872 682646954 657341346 913639890 387190719 334136594 304687048 732068724 583824049 306838685 116779004 820153904 727604878 628347595 469159219 518810185 778782874 947570870 968255032 665908789 991356644 549870139 795786772 397678082 895056505 601999767 275270771 317566576 170314914 155566253 506708690 988592534 587759316 151628321 503442701 355454498 218275202 674322254 372547276 511597626 298528356 901683576 650929728 750832554 554017452 181969570 574441283 265404260 407300640 417793825 326411302 488915063 138331055 633920967 684780671 878270549 767089746 634277304 802585338 995641704 394784338 262846002 238710270 467654926 989366745 153561942 629315033 725551530 485355022 563024658 967761888 201703278 542933126 434310164 260769916 542200639 962129104 686778095 520088396 502314433 981617639 460603878 552717288 664866918 992987901 832452431 965269081 755780401 366682861 992939605 475069697 715791907 308956265 202535599 588710566 477025639 128999653 225818706 916379701 900317351 248146904 109327477 249219877 476620063 437345307 111739394 937775812 938962558 648657104 243551674 122859341 683301665 612202973 672024374 159221512 353487207 399201342 895871772 957203157 388981278 495609507 419034400 651083378 604497951 936767435 211621876 266094237 723222032 860819590 524573511 760863462 909684887 165453986 679006081 186067682 702788043 916226102 246171645 360425601 350040608 586126187 530949793 932248354 190940236 972378043 731445802 771488844 635554555 524466965 695260764 518781716 591726805 411043824 176026642 507744400 442795507 990176227 453378330 969361336 452018956 537449954 362761584 244273071 859676131 699939657 223563445 700387989 435376082 249260842 113390477 312940000 408115506 227787437 680060303 883097025 216286399 155058891 611848347 528907247 602257917 420147647 647244799 654290648 478361057 419228743 829620443 839928594 806129262 932756978 349789650 310583984 627475983 180277239 767259604 990825496 510528887 556326531 677221364 223926482 667662113 833587551 901602764 772776421 477090845 605800115 344570245 822369342 868590916 686058932 343635272 348914383 143500960 980015074 544019656 779554838 693080219 442176899 500569001 541390808 983968441 706638326 127746856 287588007 959542732 113096315 344006416 543304627 222922919 483792615 988611380 853213755 780637848 877736492 438820456 473660362 949716585 102500975 204406429 701299037 351137561 769940145 157329908 148637748 480971612 257756762 549127403 940668723 781332316 283520369 375518516 527824710 318181015 875140963 500319012 437879627 509829024 988220353 621942756 681809213 725215551 408788165 620520502 882331075 257886326 710481390 746007190 182188435 156954864 172547079 183478827 199886424 670506767 997933706 343202050 202886009 242550875 349578061 276707185 188311073 423762686 125058437 423386598 612125562 985796248 160607122 790816674 653089619 792467292 657732749 136782910 689893556 902684001 925787046 247079426 192435523 962727853 601210501 920268740 564689903 839614231 591299759 901092704 655799242 832993856 294140578 333123555 804947748 120994807 702846311 449287647 729049484 221231942 522776149 182522536 823243034 329968505 171114480 236195292 616976155 488845073 976711706 943932456 157768426 568313795 491321820 210868889 512865292 102321564 286253635 405375944 931732093 172841006 340213941 779975991 755219919 809304536 750993367 586084515 262566270 769200409 655953995 492163281 610923130 449718005 367813720 491080770 563968168 334675241 291010415 350654102 924175432 113543231 315569550 240243397 931442276 728357458 636068501 244922029 835478958 569133517 774881339 540928759 404156214 394360491 862156186 355805734 752784065 163923904 908407685 837574407 290558625 272084368 416040419 169476625 276648620 396387379 885140112 513339756 500693014 241685748 321620969 431317707 309242165 911215818 584233870 649013849 218998634 956953071 380636490 733284067 243186838 662398896 826784732 588687861 313014627 191738532 770854482 127121157 331028926 212401551 584560691 952524331 388139474 974844347 344974967 714649298 468607355 648345747 930200294 861113095 446810021 364794572 434178459 214147242 882499199 219496421 130114940 271213193 573064921 352820105 371991150 219119088 178170177 945137121 166660200 925830535 166809213 758163945 486013391 719483667 606436308 592983085 852764272 557212355 603998883 536563617 559487805 119545794 147925479 521675683 140293592 960402125 260258899 447123997 878333341 242768980 735017513 284008022 279762671 394542235 429663788 546075090 923681057 523007214 228526804 246963125 764721102 215573072 650602921 245584185 766447491 887717852 796568766 611174790 149735058 916266225 697425004 613904206 862995896 426544215 743652557 354017392 284724017 582523058 262504382 551673817 785857797 501123301 810897360 401964233 624767765 173652056 762387030 660686378 956190208 378493115 406627793 961813022 480375638 991087476 637072618 587913844 189387829 797547305 663342338 642674472 428407130 840508231 899452218 300439134 386344777 752202792 604415460 205787866 739440789 618070489 938837593 345788213 714458615 912140162 555309084 409637920 290206230 208658516 251093779 334486586 931306846 709018438 528352738 606187231 758285573 578828631 583342443 249963326 591303103 510359811 735971423 178761841 565098967 271745151 628240552 915306205 468858601 365335552 749498403 949208807 231330234 830176207 291479705 847514211 308043141 828923832 766571360 989907763 971693343 310989217 735258694 361845928 230459141 534753980 937943342 162996258 478179893 229746238 881472602 464919753 712802872 645815393 367061451 292797841 793298381 569279717 656082255 545616730 148782247 171619734 595737546 168799544 129578462 971865722 325134590 946123249 563040670 369483047 755459991 510879682 458461726 836154732 573053628 722647001 449171749 157219842 302408878 164241128 958323911 791836006 540643484 513920785 623911721 828727524 426083738 453794759 313583987 938891870 811961273 458094160 602767652 443523066 613606317 377093040 144973651 984306690 536900822 844163155 390192921 467582023 568991252 484209384 208820253 493786877 244296670 599722517 509904216 129785575 330521351 930175853 404507197 985919724 472147192 243055279 468146754 156254983 536440389 815047238 594359880 384049210 694679939 169301382 945655102 313075239 994820570 616331359 375148618 680039537 643710012 767188068 212651080 762525626 500883505 317718849 244515768 122672470 740079469 766742696 507660353 646874154 783521637 279905928 800792249 344868860 392428719 606782950 369661767 538924638 699584303 558724367 711346606 248506477 139363758 312711201 304839120 322374914 348336176 617197853 257763005 617542244 219910882 886782646 432072744 474824527 571149225 966308477 843667802 943807783 518143697 246363564 703045208 461757345 658059957 419397992 531338024 407614110 816663002 772591407 448985221 331491268 444904000 715046350 202572571 133766941 336823362 103174699 496410750 128704802 518353331 290796623 480444832 305040698 793685620 230641386 649926286 987816321 462545886 307082096 842441193 230748987 467272780 149267148 676038491 498268209 344197250 991236920 471874840 747101012 581577530 206678334 785596272 335555414 546056409 176330938 660093468 348615943 177173946 538018119 129370286 846175813 334570873 266527636 642558197 167762574 823792549 321993009 231686440 259762197 747463215 676264056 420669901 546842258 689733262 840895299 165969951 169322698 571115835 142432586 672091968 598802225 346717132 456476853 489471433 672209399 913491044 485524954 259093897 876282640 230038615 752648360 142610959 846535661 984070489 709955956 833324556 595462677 859129514 567071769 895941560 607845739 233613770 848253873 660890278 113573364 919269083 407133327 632980531 369703874 197694718 389347156 683444559 617766337 155671525 766982834 211332667 825842055 876656899 555256002 480628772 734765191 217637847 454223803 183142397 611704156 597625717 298670344 590459081 852316171 522133272 121706232 527059564 825651710 163478463 133384713 918041028 998196914 765514845 136214011 400752258 285621167 291969315 171129946 731924709 874179369 936990696 542323706 341358440 197756986 157221515 718058547 749964640 374637648 350424689 282641913 815632574 221761875 494421758 743705302 144265534 194275106 977959404 261414272 618928754 533792618 154138701 767769705 299829870 486392423 155574245 300325089 451718466 249134276 826290578 431322230 190436531 282074059 463034773 358255620 897676961 942190066 482200360 852736527 461698764 809905126 259840491 170199332 234657671 612168760 687015416 642891142 775823728 422299804 936909479 154127617 533367029 752542020 749049843 162312713 893417316 359002422 733964686 540545118 185994878 859357236 978916401 139893299 378632132 808132768 912905924 329114358 763105342 757534341 594782541 773371197 890559216 372373040 264218416 137082211 705266009 458998275 513611806 863871106 334718305 972273646 931021348 282614786 479540560 905066362 273797195 399488718 406624723 635595338 922325687 970205820 612382840 341089304 940438724 452336741 607844934 972057241 942566206 939717109 537166694 201500465 967909072 590186473 499048155 924749134 274374778 828140952 782638299 690035897 555844228 922310200 978674754 469714355 371030388 747850784 851793274 402878220 382387873 740092082 710918763 231898482 653112561 410980754 134464799 457577625 712620423 484510764 355690055 797257194 495064692 955329557 489928260 698165966 303032323 271015551 917319431 950214240 907184617 635921760 551825847 446429126 350094319 452846040 696293460 465055227 600173936 939112095 129645257 469647871 328553806 639421517 879488124 106015967 161878767 755913940 382595446 327639267 970631098 435580305 552883325 450755524 758212221 453163392 894613909 439140607 572787476 456422974 255405676 272136407 717960593 593626917 154821201 902648832 742501736 405150340 490078743 402351473 275213002 208253192 311692601 524278838 180644793 936175714 158146032 476703091 273674352 157082790 686101621 755800202 479359773 978781196 928748469 794603122 420551793 212616836 717873791 834529638 120101369 356472276 645112439 182800268 590721756 565195562 218230085 890532618 733235074 238563394 819375808 339014424 856191904 266965929 402885352 707097157 924707154 789594872 722811566 553759889 350760154 414992844 830885890 213085308 109907420 365433997 237194733 196413551 241853255 250602297 317517271 643469676 280760549 672460148 961584453 254957104 889600205 670837890 133845112 843306646 521785535 762247385 764372005 467222652 360395078 727306986 502684097 457068484 748354795 712547633 275548282 670201088 155322609 443732180 747450813 353162304 630287218 478002031 570026964 783809726 586198344 959082124 664181393 455737101 668148228 135847108 749275918 588406859 133984295 415099425 977454854 377743317 477603952 574488504 508569220 260820567 140461904 643148570 339910482 974042046 100831690 714431563 571499879 265354430 291052174 799524748 575912913 371000058 468835469 911319356 273683542 508461652 520016596 824948735 703009124 181573385 881063607 513790478 862921380 257979718 200279828 187581069 592072584 955282070 826105014 208232373 139638115 644024767 491048287 486006885 201713846 926612895 183118208 240118510 594349095 699654311 879753702 291628056 326862548 797778616 797977799 450462936 761343902 626899205 746273464 496177240 592793634 145736573 148224597 517806742 559380109 663194615 495950182 327058059 464105994 856399832 381320810 334708306 606654917 821223658 747099745 665913105 529263144 385272672 418785236 720642317 889012313 843499042 401400339 173279861 375094236 580404589 923153014 292214859 909086739 314949017 813020532 534656332 165278856 546681478 455392252 864736376 913792840 674339446 359698111 393483668 420957827 896365385 488467415 790036456 366322091 666640361 564945189 635159903 472226515 672911217 953062867 349274502 974427767 161022509 837039469 580513913 361553919 117508568 602633981 910967728 139003834 296596150 770468981 793232050 918183659 851337391 944928513 311772308 213005537 854965177 602133656 560447677 182381449 326774213 701964870 924119023 844888439 309564193 873651613 458019613 562431021 449918431 558197248 962857108 820341959 959892331 366960915 708357914 793205062 841338204 257031222 337170689 714155708 965355055 300020043 872368826 235820126 224540919 859598151 214293400 457354247 474638469 975033450 313546180 772830211 294319051 248960323 893597826 612986639 688335717 395653307 516392117 637320235 712734790 944862878 709392361 201185269 439304166 571340368 967501914 938463314 724662427 525168476 975939602 689488337 974072127 467131486 296467012 847515519 707468387 297558375 335003132 873116633 836119086 735969616 450527793 870435340 689243127 606522290 693269712 256892520 764671409 734959527 726496267 874455368 521592553 371449095 318107546 436903174 705753472 750539277 513201036 399898206 647915801 685929894 943240538 509166491 854295813 328216373 244911495 732406190 826910398 805007967 531887273 103405675 167532789 476481679 488248973 251552394 104836943 905874353 829262686 853013208 830353480 384165482 473134636 570781558 684317556 483390440 251120813 224223843 181494373 581556959 268993107 340689796 719676356 109928631 948445271 208266435 752997574 197504615 300471157 232493104 176835593 202837352 374009293 251643195 998019110 256536643 117453787 675417018 984367002 594141896 250101916 585965299 400597981 623174312 778336046 201189468 576759517 541381415 572779815 535326332 217933740 437504769 793208025 629789137 900416910 957670395 627859748 434447078 709679462 439569837 783102009 924484993 978064359 514578769 403478767 196514027 816155172 761317767 996909304 577915412 325562181 700502839 271038685 117304068 941324358 606803478 344161204 748934386 722664185 873149951 247447622 914605454 402188695 315064513 160422866 428839483 779168424 874659673 626453854 725304858 317155559 903993822 282799637 755362386 257454895 940351565 462891596 331509899 353013863 434958400 702426415 847654568 934853364 949186669 603537000 261715954 614053191 790249670 789946425 456410599 530027500 111011351 496021426 163344908 258459047 548104187 578747237 556741361 936429935 427546770 977886823 369203497 478079835 303620978 720566727 721908504 432014242 730932467 132484265 113632666 738209977 708614416 890726918 615148929 638471915 901564699 114105266 291048783 151646115 783367595 754021873 668013593 162803681 894318242 244494432 655509924 582879703 699458535 605027440 930830510 984777216 684862140 613024559 311999411 802957393 446468273 180062951 190448928 606735281 519438363 220344254 822342797 187264848 421001277 816688696 492459101 863853704 692733258 744920046 986066951 874110370 718397410 682484927 520449868 315242869 649753367 894846454 878229073 677843856 489714971 236896223 500420966 474788898 134235143 284156362 593533649 687628884 656995881 850021053 948841266 350122236 554309172 213559354 497748294 232838361 222505474 246813647 454169828 647983067 606654206 312891967 387355412 902322191 356149983 344536650 374331158 363118972 985992309 937551122 387122351 986451140 852141163 648556677 924037696 582573532 805291413 684680734 526816071 420521451 753383551 538420921 710290970 625776746 178285854 572635065 856160157 770207895 978622630 895877475 179406386 156403469 631666398 613289992 183551008 429263228 412270101 816948679 627369595 106569011 471618600 675548080 450613147 436923665 835481684 258394665 363801080 488531309 586145369 843951574 430587648 772199412 511440615 670337530 157653270 528764759 870732471 765644426 823276037 425730142 343046948 315960298 599484963 731096909 381746305 576167980 125016646 649667778 380520708 650929340 593267165 315562022 818994796 904974557 944514410 530934073 474809447 396161538 701441307 667258809 661046322 338001636 557451320 544079426 493035164 144754367 723565350 861770749 845919300 267650681 440396507 361609495 794858384 577287762 786802812 168407181 969118459 275371061 719859851 533537395 748908635 643870096 400538976 145673496 312953563 862399740 575284569 177130426 626519460 750805132 163704841 853867619 926466717 154918705 674006863 437024619 283637961 704870146 123857129 400180964 196170618 825879103 154969366 766868383 471278367 196420248 361024411 717318432 232826968 466787585 593250724 758919479 573744819 813145729 462916686 275667570 360542856 452851575 452581510 960535984 576687411 257433906 656121966 179632351 697304794 481608071 414594187 646978148 655254334 899218711 409864881 939144456 544027724 682401829 467516474 431093674 135502107 599618171 628747597 485673310 904788731 882229944 239348672 392355948 605907507 435663682 371559675 202791229 615410534 587711966 651300270 678352286 142413857 282000933 945873393 474363955 518765860 308227809 549461425 531655965 333061280 134499934 814185621 224907267 463265021 240834217 346615358 906690668 638547515 650304963 702886484 220598880 425168182 495604575 452702314 105837469 336562958 104664763 833261365 880805386 878801840 205432661 498399400 453550244 927101207 411299888 134240078 889237791 150854714 220809694 670605842 336726037 343967470 478962149 934389528 318595604 646600065 998735700 459902203 222586392 426523443 718191305 243862128 346921883 847212279 514415102 473519472 336672407 198991334 249491049 545284078 264403614 864178252 711708655 779229475 604799119 126381717 138474760 627503060 491856043 527130692 435164505 378969689 770288333 209616447 466385858 902834818 782560424 592583756 985212948 821627395 639926355 574660041 609115800 940580511 794091579 249548763 654517858 607521766 193549907 698106214 279943484 942805050 138757207 499417526 618046714 609888072 211210417 437274381 244851790 266753920 668496075 886118489 474754199 318330013 148081809 345345782 241728677 877314233 631340666 342665237 638310337 977538402 196323501 225598975 400043309 310635300 507852072 804490133 156815998 676973555 272317024 736995131 505700388 802467632 224021634 840656566 740851377 981631243 952420024 359905940 870378487 409209436 879260565 480839180 749165372 974560779 593477350 820616336 339119786 608968552 331626069 687109855 668180916 923342137 480205897 479132978 249877856 296733354 693842676 679163423 681741596 765350661 115822215 481740107 134178119 612712667 637455538 778321612 977600139 133201066 600075032 157820579 902766464 598033808 905270841 878023947 476172740 736964406 473821883 994026097 355422930 483709059 379963342 357872745 234072609 981101809 104912533 564721457 840319394 461415889 596696302 992224234 219015684 390501004 214244939 886056839 686396773 798186757 487789717 120425462 374907463 745214806 621484357 967011844 230077809 512155007 729429452 483568940 195890457 816938504 243070679 733028885 258876009 977311122 224751166 895358195 417215202 425808480 462084460 920715731 844037360 145976826 810312220 350188041 973168007 250039558 633917166 143295286 883672356 278905147 954068260 212870064 872502866 634624144 606783416 746992642 174535570 103612559 577378237 898732824 568398285 303548462 202092455 486178003 268413031 149541430 442843304 892069203 357095979 308274854 621373020 281945335 744570883 424473397 183697380 261881701 993499946 715465548 575390466 759926054 440597135 850845527 440858933 544875419 571743822 334732448 835731768 590930226 662109599 415176787 304496165 546694709 340974509 712739831 803794514 747036250 270090917 395044594 803007832 598902280 887915192 485636477 271011045 712124352 730491601 681195938 155299654 778704405 622751300 226781421 111219865 677272668 643523134 124154342 122170124 695271440 152429450 327637489 183544395 205432550 717545265 913390123 907764214 301686787 846547840 745665440 200984748 905839842 438297149 208377190 441327687 322676905 813222010 548452506 412515824 380546572 361423980 364329091 283985269 730035742 160812275 364101530 861407252 753960305 318827822 929353042 918039248 647166554 107187530 756445804 848630236 645120562 434775034 980296571 875156566 907388211 562766270 608427753 630540227 452190199 456760390 517418552 725485626 881277514 697425009 358994135 406642397 566573769 314159233 301405078 386503394 279697850 575783608 552785412 849037877 745008720 593544968 218314574 196564001 568365450 102102664 100354765 702515285 665250164 487394705 554170750 709571759 470379872 483284580 109941423 557439043 747674432 429343307 485634633 396038876 467433890 446663387 651979269 680529632 750702749 426543950 645975968 496004803 513314582 140901006 798193493 691270775 183455244 825225399 294906937 522949548 330344157 707273143 122445312 135433768 403202900 182075498 660029138 578151822 199494844 267970334 923938173 937595504 721523558 666173643 876510770 311676329 724819721 449441983 415877125 227910246 798473898 784304585 121361845 765003734 699080128 262317412 966006226 364214962 744000193 709486241 314390298 293736871 565782444 411219513 465820070 929934890 512080152 447706903 768211747 238214274 240360556 809884916 865872783 416525546 783566725 581993930 603487606 497526751 770745590 643230094 650626731 601884989 675598714 555696387 684798885 838168955 627822958 368732211 548001767 411395665 498263755 147478329 720295799 317248767 761926459 634441957 138903230 684342315 634882928 881775210 530652310 182264785 391863877 412653911 776261367 639477157 720338318 805177913 853306463 146978323 351300968 360954924 793509664 318264014 300469539 711179170 680050384 722811177 147785171 200391728 675325892 444685204 654370930 514653679 606592866 333069479 547591146 364408587 255769985 348754280 214045571 303551158 755383813 472093234 709671318 483437417 769669304 967571597 718402371 986971411 640152249 535484135 678419106 821938222 604409776 831663544 297647405 176717178 827544102 820963557 383729884 439052166 242805434 541878077 431989850 368566620 526649961 441714707 798589157 888041106 931960717 652432717 854347584 192681245 669973073 629152809 729306218 643151705 628940653 698725463 913585907 829060176 879874299 862715449 252445086 719100290 597068053 541978594 194186240 759690122 494459102 397114594 343103713 666334953 301638479 979442119 963556402 458728663 859708359 738859966 562240421 548036487 984476703 122704378 301901675 216762938 287063919 300753673 518139295 496653664 654912316 766415610 610473199 919176866 230134221 344612333 223638026 858743813 417408257 284375203 976950869 927705984 800687453 913043154 705297311 331296327 717833700 461869225 495678657 845201288 610880552 501994410 830703440 920719077 311293622 692945368 806239867 404061879 400762539 798967288 264339941 785224986 285080768 464808187 612611344 781177417 763424183 354433876 913536571 624173713 748425692 159823638 958395567 269014788 788194837 497829552 975380423 147941293 900955233 740054615 299224348 860878238 609444299 126927388 159249597 725067048 435925405 682423154 989962355 207141778 823508937 960207978 908663881 461340425 875890156 601403454 893955620 782729950 106488523 492300290 590456157 366157463 262900411 851456720 918335038 852016295 659556187 958729593 404860724 221705803 704824534 447681123 356829734 722667917 567332167 789306150 782233806 546684601 987386629 524761332 373693289 907778729 794483915 733361273 741613147 861731714 226781127 483482545 805768259 334992009 597795020 585155729 337351441 878611214 927936579 433392804 355351083 781367289 582517819 455015805 415572026 306260157 417106653 102499479 443893889 731282835 319311278 603154598 265494703 892194856 334242061 904343994 124396250 486350038 675393142 415681834 408436178 339893299 955168044 837702022 133414566 470829443 819268767 192741916 102876255 422010874 524348076 618869757 408881631 468657769 490227632 666965795 238186260 574559329 957634409 595040539 507923510 478314511 927216118 365014678 198264834 195736245 931995119 893366006 791498512 941497268 252262036 739441890 217178943 881408776 875121365 382645067 472239714 963898242 157970423 566096736 192929678 161471595 447268223 739221076 128757385 232055364 974529260 271704331 705179200 495849253 648689548 134086877 806189052 669983914 786379215 106626691 444844608 302825427 252553595 242117278 824284027 497920003 308012511 465943476 639001726 952380481 860700048 894536144 600566056 242541276 586677287 401199919 794928431 852552205 315120567 621479888 714766676 373494135 253618331 404404469 810199517 732606940 680752986 538139533 340401895 731838669 268645729 286365921 375194754 707498814 424961392 801239692 387061132 115524585 751322759 879100946 568935014 540645696 774234797 753426088 232784059 103011698 136829511 823837735 209686672 115389374 229141203 734781137 503291077 152329720 746408354 981003410 480554264 379241309 269167741 906402549 385507626 700029061 991574314 958223626 891097344 693912974 513334601 625252753 347839184 515070525 983445059 558972966 220437354 536403351 704147507 668196204 756671767 657872412 963187328 719986499 406710377 357731872 589660472 515260801 438169576 533157614 270732622 262579598 429965832 950492413 213376567 434310192 544942928 433316141 480479472 970554563 611381804 338983430 195199878 474230803 623764574 927652953 272808830 278000056 717073722 754878785 926884092 622393957 947703958 362837694 465624452 500097531 142082072 525014250 136696999 735720278 642684964 970259961 763830203 794269779 802717913 101104504 754687954 100812181 235138060 315615707 401954570 118856795 194577755 917930373 778965969 151831395 210884756 621452113 460897548 778089397 167768260 702201712 195509903 997657677 151361216 982925821 785184120 302415764 942471564 271063154 623600036 615400036 728411472 319745976 243040692 768919854 410211264 392569900 651437605 264496300 783889428 435055639 418126961 937485657 132305086 323594979 749311307 935688857 386944911 555145451 446667312 251682177 619324057 817376104 571096906 372633856 270274699 728639871 559621552 260718020 959452195 450433538 555265824 624146725 497746824 321720559 951803148 548149298 690557201 701157237 500699763 703201567 895080621 644257357 919454773 819859614 419598855 639034353 633879560 401447612 624052997 750777207 148931245 567685597 310719314 702579789 525968332 137162162 557803175 656246246 136836305 158784430 646899470 213175450 279255739 749924314 340039428 991091311 481569073 769018209 145160788 790414276 974666910 259364868 539644599 185136429 736719507 305590419 251752675 972384868 381618001 903931716 685340638 629694698 930690334 259950601 285293403 830631610 724731334 309744176 159057689 977966210 819999925 719470101 120367459 705234809 376340595 140211008 468999986 757474627 700048196 880638734 663434775 365792594 467596693 307552183 514902617 199960013 319566095 963836002 496223016 442177545 516653120 728719409 808158158 638920975 834076092 979093662 540082384 944645877 367433913 866853963 196691384 121167006 538348939 340947064 703088608 666773005 974504142 919111243 699047253 763789949 283913107 364737688 650420437 122336237 405404072 473439126 725810393 358901976 725610155 682708799 531358273 144775331 817077886 307815375 484013320 202216660 476287013 477144364 524386824 508138876 500067588 922423338 329776802 863367550 677940621 696667081 842710789 996889821 163071515 205490412 771828504 421613378 774963101 466885876 242638649 936813572 416291884 442429557 258668927 708230654 326896094 446116049 494619417 815727499 157137916 281640122 531773010 791819044 921439083 886531578 251877520 386830684 922844764 289349533 473721597 161959516 145135079 479291326 105346007 384893800 804811384 849868305 314013852 612149611 256266452 382934814 195798460 355040860 602736346 624379396 359992989 415716618 874943901 963457224 475188974 474222072 222871733 103533747 702316620 488366782 161753501 817074656 194202660 176342649 363471584 725231411 934708532 627994808 213175381 478621004 109406430 878478488 359026746 796745138 227385194 789634447 885017455 865431908 690887520 386292303 783401263 816471968 595949529 116165411 714240803 176633134 488180935 927179075 907001693 679990467 135913373 950737634 705231559 156302998 514327444 463419477 228064660 748133852 795862130 514020961 393080038 539045759 509138780 204577981 738924022 324948310 321018093 671038750 260614128 218221231 946739426 562705565 707386061 333815915 718783069 962584255 606577489 668886303 141260465 496227151 155596219 230971071 618826819 613202968 704613908 205229022 662895768 371003028 310101776 714521072 662202976 225098413 311245102 671600191 297061555 491799899 631627369 608433918 950594742 553842849 866754942 176869438 545528751 623276988 408583090 299484942 920018849 804288715 964221726 406312791 364662509 397736329 861758180 255373059 955341386 562576403 460879799 246093788 965449736 778466507 999076090 495862411 894486437 450827230 895784180 394412778 465467231 916793876 697433456 380317143 578127075 253035730 788740555 372244566 345266331 746102725 267597718 823164623 258582762 393878104 820895622 580352149 149194633 285341664 896839589 660697947 818607932 664838337 389059337 527740822 100938706 520944981 354944118 715855088 276565984 961992479 252229168 921777555 106481792 869423374 766940432 247454179 986832428 399861667 257948215 715248418 744874355 932346526 623366791 558241372 412425125 224631588 953259812 335780498 842828538 826046361 879692676 301357004 959900116 567897013 753508356 669039597 897479696 567207563 254386582 471221299 608244013 977093680 413438754 550822624 234031504 418062461 661636093 524303797 356780490 121458763 253963316 746023474 613359169 519929423 171232904 313023194 550831915 356511350 850688168 345397589 691834250 728473012 528741655 295618125 458634220 175885121 597665985 284593086 375610021 936186399 701311075 874789406 247399562 578017952 656386542 229625274 506410957 104237638 553797036 476602456 252604574 363289234 793666569 838466710 243995227 456606375 824962011 897314342 950747518 114400093 240681617 651915456 426579987 809627540 748809098 839851089 780849543 929412343 442521180 801258517 603713988 874399954 138610178 293667354 811325158 562197569 439626448 406273855 605987319 267214052 275808852 188875445 787880602 345471131 170173908 949409078 202525661 932683721 752701675 335636914 881152243 205141858 190041673 265530816 161479459 887849413 530760271 350987370 111851899 337222593 648522764 956413187 995532258 569727486 816401615 431482463 492964764 407883958 630971977 546206905 722609781 788659638 747214005 801177920 959057951 915100105 924447858 526260671 158460879 419969930 206524236 248308245 323592046 196097583 820568232 931426171 841732625 738407103 765870735 685171367 420452959 463856964 649346968 783076411 397785632 114559931 754562343 682478703 732359136 335267611 875606759 516952885 172095576 233908851 405642755 906874358 748520732 947149276 612576953 686835349 884808781 223421332 648669053 510683117 339179731 613534984 144735822 195145095 529277930 305376579 469154327 644442872 838908979 750796659 399435594 512759155 328771827 879240650 633477224 364532449 732856346 380614938 141140142 753518204 934272988 188839587 964506183 524159666 209671449 609511439 197168543 567606973 388270295 124875670 819445970 589385656 486746988 823839138 327134690 742175280 100309044 673160620 486697204 143060354 894963033 248317242 150402903 646313576 456650064 862019541 497283684 354222003 833382862 565175405 996985709 439995599 300560552 953464842 761026093 956331478 979331454 141113072 420763992 693119216 822865155 588478232 313499873 277867902 859998742 205258921 791053853 582728423 788587750 719831530 429876965 671266742 190680679 158763258 211393708 920727975 150857779 977242514 892192947 268690533 452572128 930536620 813296759 237445007 100742096 688525656 221615769 544704958 889989003 176245983 218986324 134756105 349597458 259847253 405451648 310510027 165807784 393816578 388884529 342099252 312053856 570420975 558259381 413841148 679060338 222659219 917326211 164806150 415450242 175835591 890790748 623600940 465242634 874203865 467886058 375495306 693562126 577307131 215768309 386201117 903056778 526511467 551692911 781254898 869109212 563014035 350976866 604835621 726766911 939507135 401292813 404734852 670771660 966186559 449872207 722405546 573414609 961158492 140779732 274547865 215658490 467620267 632636764 167326742 381827512 812873246 812587388 365099627 605567127 743891855 382655616 446349345 440524552 980015835 433975762 197826024 577416250 278631779 998873147 760064895 916566853 759241525 138645075 783637130 444069836 194218002 244566477 950698636 214364124 476903009 165719157 126188855 150010720 596431173 662460890 811365714 757803373 269164033 866180225 256487525 403050021 139036388 240448583 724170958 548861849 978631276 976177064 336300894 219141501 891314850 732051116 747378867 553962889 683706826 582443155 160225156 807138834 470321957 648793043 633018296 509442551 218227017 791595439 432930354 282371821 237617300 408845641 910274036 445578678 891875627 383128980 942581110 184771365 613856552 464867190 540045619 496544709 979584735 727332578 885289489 794026891 132546594 798629535 723642746 200546149 158358279 646039202 619611737 301760038 887933292 241357219 763309934 510128427 169125641 740397640 365389493 633746709 174362215 744454624 529686580 509404179 995424670 907349079 374307856 986100907 968474102 838789795 162511915 600351715 562188790 756274573 493470063 891138839 866800374 730040905 609227018 663672567 991105250 683496936 178022653 401373522 570454243 235932807 589532783 367374019 966540232 727425839 193580107 636451549 472676768 697665700 275851920 390358563 540943404 988618256 285350135 131405056 864860612 971136952 103544172 852360772 332069891 469085952 278337381 506271300 150371231 346890994 433129638 976758370 733521808 156164916 518898957 719037022 604241867 424046553 332660522 243139884 319420119 489676564 532177271 541840936 721664619 156613947 321811549 646494492 798225312 196807198 611288173 978899007 809610054 343726191 673647926 386955690 573265668 114263663 963387988 336992667 320151950 370928671 191015684 948329145 909881759 322510036 404392364 620919414 886263873 686439355 795741437 658136500 689576446 815528306 241787547 590680313 326367593 646322092 195426034 620578767 371014777 201061035 813246514 647044932 747754907 834839148 443809129 318237792 103605982 602827853 302038623 762442161 474973245 698331492 471411275 274512425 317396994 285286192 530872146 310997506 723436501 870930282 901128514 804184552 440590768 762235806 944366672 112808584 443724732 247869022 621101256 603024231 761230915 415051955 746637835 988497294 100970589 797896605 139748231 483448338 837601893 102693624 458204517 567469916 419811665 417434474 329567577 553960864 972728328 150445289 917535176 455440658 876350724 801023266 613534661 596163551 879133449 758550669 910594225 876930807 380899244 280525505 916300591 418280862 393907843 396363587 872366305 556036481 661042172 616324945 672425951 339292734 224073550 926206256 934047955 415022984 718413443 726683324 276048082 158082300 533080913 595539816 326234961 363377932 802047762 172422059 984573703 202224762 586396454 834182426 211246523 637952865 669221036 422125256 915096537 917237701 256604362 303288937 267457091 357109511 597046832 145100872 371877411 431252741 840437973 708589108 637836127 979624605 513164574 512728283 705325670 479711994 753606229 937973028 552846212 620621892 269028934 206581898 977018157 627560089 567198973 183637377 607325804 515490513 873305318 562107465 248382211 346138130 167360412 122931122 244423772 158922271 756131467 848940348 982416898 853955489 563986513 299785314 186077263 762022724 708637147 352552994 330811953 836293459 531006009 883243258 892837144 425867615 822539697 501104362 478318255 329444817 918273187 971341838 526668712 615968452 892159526 673838975 749947169 189380949 243199943 633859742 545973995 972073411 261832287 544946375 324013217 973190449 638730898 210331756 355454627 506745415 348820080 140792366 408449064 515796184 158179712 326521706 656218195 413525347 733705382 425551554 210487828 328170898 487363252 422922715 186926771 266561221 584225776 390918995 637514625 945047755 655267432 148860844 524841452 419968722 962147661 390498285 738270437 831922233 142751053 857457483 675722957 853180919 759677542 481347136 572465238 308989654 632150604 940055348 738174473 581433481 772126141 171015236 239793171 130952550 563642755 917987146 328083045 667937426 434738732 791468050 563008580 264572663 831833486 887730774 167584725 498394562 380562477 139418256 110644642 413117620 402336373 874902998 249822194 804707335 554575087 518631373 474513614 863148288 383200276 943345912 636015321 713663790 452734489 928931526 155616952 267773171 838814542 792194722 512547260 259599435 364467368 245439002 771082533 765876341 675824714 489380993 130981614 332211790 462918434 602696200 565648691 930211335 668672725 260221236 326615657 821236890 413314228 614815142 320630372 851455788 388176839 742082439 852281213 807885000 770783605 535966721 147573146 887273397 629204327 544032191 478906367 281490467 412996690 514730363 636943499 712571157 558589631 824167370 317779086 463922881 846291043 675285760 247981582 172080430 716059871 400044382 146993033 529433022 515853464 920230624 272290576 694612464 453886173 337102029 739234540 217473130 521163650 788886686 778988832 620139232 930724748 861322990 397927838 930094602 491660813 414869199 295510195 797248364 874935694 851738268 447213500 721633839 706685638 814582343 153787894 901297293 475959119 905041235 173170909 813675260 893801620 608729082 353197483 705802271 549804721 820683046 898136362 182427882 749690748 200333814 194187940 739411753 501433542 572093764 706528805 604120004 746244954 162042849 963690043 527295350 116414961 783762976 491978786 601862367 168525459 504448936 749393794 489764841 566232724 331254378 661960161 417413448 184341771 155120543 609250990 509922453 578650806 420008587 440736677 489712451 355745789 944242070 108273745 572622935 216048700 583249665 348609162 603615134 240563650 906065476 928826790 503499518 516645115 226232785 540582608 487422608 251621425 243033319 473096463 429412634 775967515 467008662 184350462 903487482 559969738 574360917 500965057 465764716 600234562 557405008 421125103 931234815 459864096 209335759 928407669 179957994 694349412 889455690 814502307 421018404 271113861 520425961 409382451 855089547 190469229 851528604 604145728 437222243 109753396 827650945 623254961 813952170 764069149 329112254 913526402 941109637 442882562 428838527 859605998 568145898 312444071 351542874 210417925 759980566 184242541 885631968 447798744 105549823 493198371 457555244 649234311 302667736 907592375 894588534 498395326 432711168 644075255 566334465 266315066 924350127 168677601 528329758 267490039 158435855 949567348 208201400 916910764 675523489 253744776 209823752 984992014 114280454 509974858 121489955 818515920 727414477 685449648 614807975 361223496 394423093 170243738 320802252 923373464 642981582 950986551 632958381 996243878 325615790 657870786 126245004 678418251 914982241 220516591 226949802 986960531 757051322 326034503 944461246 203093252 354144852 667164278 308700870 722964879 984577736 803720961 528999579 714911505 658641092 609419770 966288883 559741630 450301310 489138220 246180744 362944813 382721959 408217622 639395055 261515140 279450409 918734225 472756485 594305995 957622146 780417598 514749023 872366395 993341202 546508808 432636861 298426246 368302633 771250239 541057051 680665284 748549904 898909025 521722227 798118632 377363198 438435592 891822010 486926469 529388218 694032677 197991818 366876133 264493192 833132469 366200397 980200129 195216763 214534351 802131003 952686706 976001992 214270087 402469183 181421871 163871560 603410135 771011140 739220464 965761542 195647256 460553558 844238754 718167481 445788696 352985369 437436493 595037476 111996409 420592288 168083376 690764462 208282593 535441542 943846527 226698480 656578764 925374877 569965803 866465844 346600066 520140663 956160173 855945289 715844358 565533724 380224967 479588810 985921939 994333871 746439362 784775213 678404158 140375386 272078803 316061128 701188691 782365709 529559477 875368399 957599445 868053387 203710005 941698637 462023293 319244097 390950633 734978152 630151268 188381496 773887287 746059943 320310310 784665174 701224241 145301475 631477236 961504585 909970303 711520331 469246316 177056370 734993780 113904149 548264878 442911148 236970164 439768329 322223372 614496780 367882105 957113466 729361273 691507671 581238909 129552807 576881350 389805084 756159663 664997756 422141088 874139946 785576904 925629689 915023943 124758170 314669148 989234416 860472856 707457167 699701732 586372449 959542814 130205875 819358823 238789285 947445449 851978697 468079630 437722406 756842513 939553466 780081222 896544901 544657571 152018934 926235269 628557785 835435489 692852432 164657662 495104545 240325399 663539235 293692366 431429280 667259276 885899837 212677381 351812329 820399426 808705129 339582428 793449282 621965255 936018976 422142269 996210982 479699488 675455775 375346142 187017931 100030720 770480207 309864025 714315360 348733818 689020121 586320936 770877246 688813346 807220559 928597786 173191708 368627274 875365577 722989672 637819923 122771307 347960160 104644074 825406515 434769566 107082160 613428940 859294162 353518601 797942243 708794642 674742489 568773042 142626081 929455107 264017633 971914102 800951324 492156909 863432581 796611983 255859959 133425485 838765120 205195812 925913137 271060868 769819430 917446628 700641084 644328560 921338867 532928020 911538946 310391185 700707006 417741680 391814141 919653335 571707456 985106524 135308767 508898062 653261929 270891712 739760690 683850795 101538086 818150997 795680833 178568478 393977729 485603618 374207790 751639896 196832270 793337649 174924897 918435387 726527670 609920904 334737168 480424387 207555070 660290678 211622602 793879365 869509191 790793979 680374849 695633199 928775549 123366277 577530097 150948371 809016146 460657237 373338218 550126850 328057801 350431997 623945459 439043981 245140524 481784693 138677712 460800993 921810525 343661428 185064711 811556097 301169997 215955335 769827554 554635356 782776233 420733401 829913419 231951781 945505456 665147667 633664585 543337088 187325981 530684080 820412463 953752516 648345460 567595090 391254354 740895750 226105474 994165913 340277924 611289314 992461778 687333377 907986899 896181077 535545585 395592638 774722701 560854174 608439153 385778856 380504741 520774869 523904964 359131978 347268123 520504766 486853231 627418988 337592130 411055174 472420993 200679561 837026239 703473183 931048207 898105753 617048332 454518499 858648147 653793931 717917904 939655262 402261875 723666726 818497469 599875261 651860038 864758052 401490427 854840840 539687929 255734334 337189574 816482573 650479552 126407629 128862766 783565363 475502411 472818387 865925425 586450763 198648264 156073777 819650270 802010000 248400720 178946380 448227107 812215153 672047597 244174901 479904457 673785532 576605119 167756484 798304781 281562822 260699080 156341439 570163610 104743183 267776883 548407395 284337319 907031769 333950404 217986010 917718676 690729946 972714170 305174450 782453248 136028414 188576813 430032098 436384607 387060358 259865481 359078665 288490982 208569120 654645599 479959969 673237548 358653795 199940990 259226756 295051704 497074604 631179047 184217377 321968956 144823730 959107996 571105749 482940414 284443730 563715872 369868740 858272271 670448762 890601153 982476680 589840846 910251735 686260513 197681792 187089893 639413218 627019277 127161244 158500880 525851826 109075177 974780757 534473206 350687536 338325217 985993324 298557804 895159311 451164990 530427059 233604525 313547280 214150231 938873365 819756523 355486428 255572969 201676224 248015334 353076975 396870314 419653946 862436751 849262433 895475418 142007387 954518496 550681994 543227791 395168081 255268366 532199081 456589134 871334563 518141771 716291122 683782844 602152962 508213679 976745796 355931644 834043800 827046293 896063496 205839302 753565202 145504812 258165163 632125091 810064155 211840809 158169943 360850165 594581828 536215803 555424170 235485804 738449855 690899037 258139584 167923168 420941012 660545239 767219389 928399064 274698436 937528914 766575955 259288243 544644741 536959207 957533719 367292116 497190400 996506568 154597769 965469665 684222024 771373564 400973593 182008710 352100062 132349673 847250287 603500558 126800587 602427371 724654065 378078944 842080505 714810798 211248701 631563950 459234198 213033484 695225333 197822461 991654067 810946524 384223068 303461914 213155863 623246028 831562311 721532614 753324931 833688086 450076742 823749306 110467281 528450352 493279936 727481157 683525308 319191458 666535006 561292575 986277028 251418267 406523433 404533694 223829301 473707779 794530125 635365281 944354400 996993432 727273413 945355123 244696747 875726169 148874092 517014724 529799148 574972687 377992341 352355612 259739362 962152827 588343522 484348137 190538316 960022671 234977146 873232507 381012890 502939607 577194042 625426664 236067781 413953031 643376517 695360044 155281076 852061066 304507849 541510123 887702362 135787104 711625237 848932560 990780544 772518087 307386867 974985930 233013931 708190053 908751030 644704367 929413824 778876778 391007235 652132841 313546103 649609304 851929253 571218837 581155673 306710188 229099368 351356303 148392067 644195446 379278418 489169068 523193625 997074545 996637813 586497691 704604404 946360477 834830796 744319101 886103233 320502872 311292678 356509905 144554448 492937819 349324746 385231628 345924266 922268331 337451255 466004703 106665054 879888720 674353565 717146178 667046342 433480016 583296328 802312615 128743537 121870219 706821559 848828318 496119296 884941584 373897853 637982434 132056701 786666722 760238558 621227734 538600530 442777866 872679980 302375972 914543549 524523856 952377523 710642557 379849193 698275515 434857026 523304312 588595322 466212044 504464112 611096787 719708730 387727675 263720529 271271128 285466096 799566653 755216544 914096508 552818665 497713555 253443010 781756369 182200312 249307078 450833588 966610232 670730183 680727447 142362185 456484563 292390721 265530563 378094858 173710458 707606963 504213085 100922860 621512248 407298257 519361608 184339538 696176129 974032632 350308542 561816538 273600927 438318730 323551248 425830647 245270386 994248559 166294336 563359538 351523160 648896981 579860903 365861959 696078017 576272672 878322021 247110464 340783372 522621785 157328462 471370710 997001807 205631343 363732613 265286565 306337427 805901812 183747223 752774892 288970327 432221648 528013873 835550009 818354923 425657969 534152986 918638990 540617897 339878118 418691969 567057682 943322194 288368556 266696391 664264271 928214264 223072199 773979797 541931750 718433740 421932692 853596516 471244487 435438657 242942209 510038501 530534021 155258850 164742469 484240885 185608294 188346294 647646064 383877677 598856185 486547104 361849906 977236751 226298790 296647702 570599310 731876018 621665386 787188335 860176027 671267406 733497161 784174490 793115245 897685714 551131685 665714951 170812235 164032828 751235063 380799653 699758399 431649731 896507157 199247846 386575764 305083607 623479544 612044961 899132091 337888615 740854928 695032424 487468843 408518246 816409236 881727860 590540257 332734001 920650546 759674651 710613466 147394218 812748261 231774978 851145661 916733108 581434031 240572725 557645082 428486036 536188160 636249218 464275401 114905310 782530752 538506926 770815308 958851804 852490511 751700998 327142675 417876602 533151860 647342314 280212380 266255651 453503793 899109870 762664855 799152776 741323571 753134484 649364913 108790147 802353103 401017220 965061288 693684038 589032879 919599329 543170083 196820181 669298432 308871780 257136644 370420914 308704237 215721666 814667161 853674701 463362552 441156823 930575270 357847023 661397003 425006304 351596988 136029103 141774640 934558081 139940953 471489268 396045155 130129856 767024212 608008570 865676686 106798308 374080155 396433099 845416834 586784958 707337830 225455130 413886154 139632821 637074041 898003359 769281303 490335339 183439225 490917064 396419054 556050471 410630370 759758478 855094437 329147843 829955044 982721790 194737044 281767085 646306413 617974013 879656782 434177776 257395676 452816748 830044353 862578661 479667077 486812893 341651032 109656453 290883610 308007431 879708747 875333376 723101085 549161929 424476004 457920900 228774581 884724548 662382543 989916826 674642840 379037059 126948164 717926028 182742838 346321401 845379851 327220949 652405432 542252241 849404847 177907703 690922106 137470781 744432049 832086101 324967829 963608613 921627395 989623756 714643731 377689162 823158073 536177723 547825461 506017909 893147489 465543011 938381160 139126698 214100148 522376677 721414688 509239452 147938721 978677070 937897920 109579090 336786424 220555578 763865502 175951808 779781556 941364754 390067052 505209535 882298556 334874385 747752269 927901323 250668786 609446877 854079254 315440269 656572472 798242198 273406874 819755438 847360612 389665798 866708176 846725235 230909204 256456184 238811117 423375902 259604132 235985499 501086964 396089110 799711207 511369050 779657419 975432636 852065572 589637182 301163446 431857526 415576430 453082315 177701153 889229570 786385916 910325303 255560453 401551437 129406298 396998074 162722299 238755057 748885144 999563775 525763202 101752243 727969359 244136579 773268944 797355082 688275126 893557326 706533135 515915573 918763340 888562011 124563546 238692457 547944682 414974066 624052598 744504381 446597432 939270447 316790993 646479682 251211140 673114025 535228371 296255202 621241263 500540684 349203709 697443710 811559287 205759578 869569005 890693894 632042649 444630192 943593843 209421370 297967160 788034507 438947261 976015710 584470284 141962141 729570026 752892241 966597677 930352317 175069955 525310607 777776981 864743925 312243058 943271397 535729807 303100670 342951340 780557171 902475737 934445698 254123426 806023360 108318858 836254823 210692539 648741656 664182175 515427421 847321738 672085749 860523820 816119382 112595225 471233057 182247302 248582959 944231633 188852900 176054492 713972040 992623636 433218913 276490354 802852396 307815037 851503188 172416614 908566517 348842924 832520650 633095043 580134350 228890627 936289125 849484663 141951658 207733649 777104079 138298032 421725577 790816741 346034465 506131154 311274496 597912454 491267403 996412177 436903306 995730598 584159090 877573319 195789988 182327538 815170375 131659872 149871102 225989741 807055947 272716016 833235679 207567845 232420024 550901977 904036196 384402959 725253466 137463732 860817350 234182001 852262278 876419921 886765290 464987393 243244083 532619682 782115011 633145237 222082794 263199505 252645906 955498192 240033594 722874849 352414072 428438304 181695647 587886458 565661440 453492150 393266254 396848945 930529649 273953110 744883815 517582334 704003232 531342195 904357341 637249477 622579601 203135592 836248150 716602260 801708240 823854953 177743125 691656582 404179217 850139493 152151243 709555486 585073391 939360938 144353388 139360784 317697287 726545339 784382071 578452668 382108957 752471808 201865665 416882477 115044251 240506375 981408703 884426908 203593094 728553616 491549077 214123442 994661664 798927872 772326256 826984244 405344096 630001337 945142970 875539173 314506470 509665734 762969598 563512856 952071959 323009390 961911936 344693060 325681120 405898906 231798611 592826481 554675048 616926682 569158747 728422250 384853084 176710717 499878903 133014911 368214868 660948313 646385302 631220356 251953468 242556816 992195563 833099557 911444061 932411169 100464397 956091884 187583341 981841397 691111931 266719070 895901744 509570405 980320595 549880660 393271415 839968467 238246616 616176940 425091684 159547742 114453847 289998481 816422110 335521019 701682413 656383503 894828464 661893303 468345079 287678781 701512837 192290068 263622422 716012573 877676151 843640496 131909547 678870120 190762949 207445071 111435513 184362348 658564467 461376605 512714017 771104328 538744470 820345047 633925812 608944205 635306469 976207390 763897526 949130274 981808336 924057553 550158662 722219721 392412576 246545683 320532034 158047225 182882265 223842739 276685753 242005758 177050559 379353398 816556775 964450591 189581640 557005439 623094189 475060495 203919902 636516675 900912713 606913608 232702126 294042509 615586414 290546511 557603422 654558883 314418263 655345542 128925171 977151598 464960238 759888445 994449926 574155015 654354588 937368860 718779398 998031781 927841546 147097646 267660675 739320851 981312673 918459537 864917502 957989610 725433446 644978263 455446881 894238724 991063545 829471828 821959974 400968402 917913359 901851244 814406474 381540954 261867369 743982791 192505834 177263040 475102764 342929445 392997767 903905998 290588729 449665141 313512462 291729764 256190346 508615925 919937123 589219857 524203698 900765445 501584896 748509949 757883688 823574609 308643743 639664634 832218476 827250408 464578586 473995419 953386764 624182911 592853234 159288139 619219420 680233019 629755947 862528724 553937690 911763194 639106861 858745382 844407653 802260225 345456933 549972235 890688795 575458680 635989633 552900285 473327341 197523795 561301662 406790609 587023788 116894324 730483899 205132954 311541843 738913200 711211866 604350311 976255765 866231538 914997627 786745616 998969895 693340647 943006370 805215818 901295355 160494385 152454679 707967572 892925794 563619442 543061939 612327675 700412163 496229839 908681362 924729649 287187188 689544055 806584670 120421371 427169255 860806783 493848468 133318183 268436124 640578945 871437602 519598281 881311579 687267615 461722845 760032513 975150097 876830941 890928488 376332523 269594919 260343986 629551595 741932688 151004441 996816647 255195245 116534502 410743912 678216771 655243158 339450927 905956360 832121650 346552629 292140534 508031179 938342370 606075031 506622550 470459775 918110546 407172078 849436169 771790990 479843515 145599014 314521316 258314392 676967667 967749404 457830501 689702420 277097901 105702028 874755568 227527806 611006586 272516092 915155020 731506552 987607662 951211768 551953404 822719389 179213644 181778204 537805110 529807131 617384206 380996914 712819500 261955717 507459126 631574568 902474285 158077346 350369083 653823913 872873234 335522940 161581707 539702823 582778271 919926050 924385871 168969581 550422637 548880692 875066190 940836373 421474927 296834836 371992975 342333879 169900672 195577054 342314154 830686217 449911192 685096837 878419411 550016128 279927069 995777873 469231499 626799762 377772858 637670317 407948829 881922028 211178086 229028247 589977274 888943226 899093285 945984432 676069995 613275323 839345139 119531030 915608506 751094651 942834797 946011399 277304971 263334144 585452585 474696947 610423044 381816158 271503672 619375180 525165911 828383713 679834848 152449627 211657909 420116403 544001568 284547710 641925667 129013221 273240607 820334045 499136834 323630651 103579541 782230351 640857031 407794774 344027112 433064466 555061295 295733530 196682726 179640628 911029725 722000652 239292067 233822903 291445529 201569453 357041584 295646730 582853686 133583573 501859638 418010465 610902769 562877946 366800342 961709156 440564947 457877883 700288813 223253738 829059188 818014723 716074493 584438962 699124220 844197764 167700562 418394991 362762575 805968909 403195254 750522293 872243921 643465891 419773129 172888264 303067683 566690541 315285845 374223851 179758397 182634806 237444133 122202210 266130010 283755831 509272280 496642362 790630398 278580787 663112945 137439300 888484155 816660992 228235375 554961162 997634989 592526683 912682531 691609580 749646192 818681642 164100208 364393556 300554476 189171788 268833367 696820538 335112609 851533902 456546372 646359249 853269851 326399387 258019056 420522638 268339043 780530092 377995393 649575993 967074464 820181061 307598205 895073621 399535759 805180113 371827680 156614862 380982670 760403107 823397840 644718694 172418967 533368749 649161833 563491702 481698023 689982190 634600417 169684299 379197710 661271372 954220756 108265143 860042495 760403226 268580370 444854817 498768265 383737437 413001215 802940988 861607936 501536096 934258416 410469758 970480479 872191666 282681678 291849095 140562933 133081696 851785390 842069055 592191591 832914977 255975878 344295641 467010507 392589626 212228635 897038666 387161219 730050312 724615314 778821961 751518226 365755961 659661638 704925326 170289278 143079753 784185687 320760574 770112102 931727879 976243195 789256134 824823412 132381265 675592981 225597639 621580191 165131262 437927545 421160419 704645029 604965635 290596290 722537183 380606066 318240237 579783413 816035393 398441278 848342488 297723463 304619483 151879783 767267244 897342750 862894580 595165256 541848164 427407871 370209201 948749605 109161790 606412847 187215477 915153922 926071033 383742271 768749594 174774546 100008434 221576540 444490209 739371979 551430188 497959776 957876618 312857358 628921970 851144127 980530864 467480493 716910930 371533820 948195526 218824831 139863795 577123644 256946729 953886897 465478888 647136109 182205109 151676245 715757674 644815562 150115166 650761897 499637347 456203872 142367748 599006568 422203286 450325091 985576934 174119432 715990870 662194434 383236132 307793012 787990859 682418429 263250452 376356285 641684368 266507894 827579810 132787326 116306557 432960806 394109466 182434883 445447323 157552002 531881872 720578933 153278444 254494324 421770191 136198058 256234134 593058996 879433257 350444370 581019987 488001448 694423042 590315647 271197243 342525918 379175736 668222753 510911699 198057642 178784500 455628208 716717781 590679839 971958707 638307002 432389514 251184089 636237278 864699992 398730715 261512934 980153196 828944727 473952671 962959171 945091725 346185443 789713680 242078599 116982063 376562868 120690234 160823488 620768160 962598058 529674134 420881300 874832295 190053254 348293357 991135271 641660862 577563705 162083024 634145903 481798835 665824669 230727196 202840026 269569067 605750485 287249257 517744809 240288888 247915141 770683093 542823917 513587731 120087887 767125560 980056221 355587060 992003260 392509100 278613705 413955182 435574148 799395917 324177008 695230550 843352791 835526375 516888458 819886531 425832606 410382188 622142541 652314704 114139096 178511776 265296382 540689093 383641154 826306785 576688887 116348319 854976821 541418252 319006016 525493142 182465296 539375269 381473281 510407120 115703629 932997355 564275780 912157102 786184972 280245216 607223707 628473096 337689059 847101924 883657321 898501785 851126245 267424076 545867896 402570331 235770791 351895962 249203359 336598899 355155161 594009563 223634061 844143945 253219425 784321666 579532104 970948321 278629519 754745131 855740110 141199231 460654000 417124706 333123882 278297785 860276413 123494181 609516962 444756504 475652611 979998476 197579212 978066793 742054514 689497884 840096709 209838031 775981234 759885875 693732046 796617783 604958050 306756207 234444610 907642574 766507566 759111602 687421161 131872500 297577300 132323115 672046757 496433464 256754531 499663776 849900472 115966880 628305975 676035242 897054731 694960110 135670481 169218983 902851570 728876577 885348798 575071648 816279990 311158806 601574306 179222577 442759645 136646027 792050150 944203496 493778838 270212881 511066625 553137061 434129415 550114490 376524178 510824764 929078468 342479379 421919637 615287109 663537456 630154731 516055614 268955570 570280833 978509323 997988391 553324916 973245086 694929219 564721712 859442242 822307289 102023275 771314332 219262850 968025983 634699277 936804576 290630390 243129098 565414238 574730848 185356909 468432992 691271423 615251923 582065118 535021011 851158644 839991211 331987413 511846047 949025710 648793210 625713156 874880468 983051810 563162229 967564401 433715616 112462966 659430353 430494304 173328176 443790508 355388328 661167207 847596924 571849283 921399021 218018162 817646742 440687319 166120129 710022502 282923074 293911177 664064402 186322202 467138673 863810999 774858925 366622097 412086615 579969839 935443833 106896784 110549409 536396958 169077910 215542039 956323323 576317797 529140971 669093507 594415535 446068261 609753685 849945055 891021739 569709381 529181692 466196185 440624209 175684164 243012636 322558176 298220913 724051956 427620714 896961767 917653695 327694059 396045517 460043737 420292104 986009680 131302661 239358673 942515758 975285238 492066536 899576867 966996358 319690756 712564281 791211584 883207308 245415466 571916765 354876612 584424285 200730097 481058297 581353915 929774328 851848568 380549366 751277099 657260217 183674135 819141993 565401624 465390528 924371434 428128113 920984135 283477572 436093005 284699094 221062179 951396526 829901605 246071602 617984593 469368070 775913703 693669207 672018910 208755312 876930811 302329827 448837633 864507563 368323976 750896995 564366414 371132680 379708484 157443737 137649325 428906764 996221823 239529884 751102827 699146760 140238413 254191827 944200970 986996834 398499184 987643401 133492293 538960449 571688304 978282568 393434719 220618208 654279003 567744245 145370185 143521849 845168000 184476095 537699342 189257334 775696962 569341448 999689803 869151374 274691685 593064677 198170793 740546237 478683191 692315261 438992787 138938223 272401583 525715648 568257423 221024401 797367115 474441938 873667741 926355442 728880243 543964242 192364463 911019316 167691382 908436942 325995648 869262072 343396407 237173492 315969513 716530496 137372032 217882380 603237892 960136852 523100447 961187444 125964772 953463804 381725592 434159834 685757124 811697854 618232267 254059259 809592688 986824735 355325629 938594740 487131204 618462037 896711160 381133793 490942517 311161073 703909807 621372151 702751494 598506281 560194180 278981863 285023924 215092421 997621440 285851721 240009664 637906350 242102846 400011810 413115427 646207933 879251709 116969269 505863980 283035112 342087540 127659832 119575350 742377105 463540167 755471209 888271989 312535660 890555637 749712281 957253163 421649852 612865602 438355911 319723695 619600905 751413665 392457807 614506380 822725105 903253194 255055490 716256706 689734222 108854469 775835703 786771989 581429088 787578103 770869234 180626060 914283909 224529951 442300616 252600309 519436506 197655107 939918271 856507890 574626345 543315332 360458393 754113010 434605445 700313360 840725389 684227147 234114641 319233288 221512675 901647555 576569613 997184537 544047501 526481212 808013346 572440811 374521950 424071928 139598057 314280802 178892451 446979458 989578716 665901505 244673822 520487132 402109284 955266504 149908296 354706504 517952686 541561513 123082336 429319679 428028261 378817033 727186650 105270128 230496304 303150746 556623960 164862122 104983281 878507987 864145382 978177360 440196502 168627091 338007522 700311398 574676164 492920878 132513018 900310433 429187499 289800118 951381254 121795201 892761232 931952149 368207733 307891282 826616788 800035934 967769172 691026800 935782087 138094032 403138208 578668100 586279428 895089573 141056150 156149205 305554242 606479627 142271393 269097624 456266468 828347341 427475384 253092422 474898500 396589003 528742479 360725715 928931451 601287166 606869074 452030760 246025078 933508710 500166592 267029282 376240744 615169685 730899355 781692011 500075585 266154466 366261941 144912768 530848977 877588069 313432771 314777231 667980589 464093331 763072885 304960592 978097674 349438027 759514341 519979033 529712114 942784177 281472834 233716255 812299684 439211121 263646665 886465121 347905350 667905641 536458803 145851533 432445973 792765169 485534423 906156733 756992085 137121046 250103370 345192695 421279850 754929212 961728790 819219820 467532430 251599370 934402465 881023751 237686599 799268705 859951701 986820096 806483095 926739724 727911800 388771138 816365897 465060246 801861090 818636606 257096759 201336799 739980560 916461054 273490554 570116141 664644686 561402850 373047219 815646187 231417431 423453672 909786897 215667401 820376728 703610826 744216074 176821577 821651230 451742405 333578335 894262873 259302561 522650931 266182452 801864702 793805709 607221400 281132893 609804636 439362799 212146779 624422793 252829380 287257284 927502289 384442085 157585247 882732053 294102509 958259949 774623388 416764939 984797018 588541440 740873022 164215963 261631333 188448848 907588552 184235241 105308914 898812997 778091311 547428200 996994165 290968675 861917096 577743086 302417657 407531177 970159299 526842786 598074990 819083412 117821090 245303984 794010181 624760001 265784214 674604745 495872070 958518887 770887982 226174712 348593272 199760650 932632783 290151317 577336593 527534191 407794100 959053285 447306665 569795386 814012867 837963379 322925407 874638011 104822568 553607366 910912085 203325825 797688717 783887560 447731163 475158540 478593442 194802739 120961715 234157862 852256150 442889899 416630589 123286877 558721531 244483646 595335171 264600220 345080135 214134208 325113367 647867481 519298459 991214404 336090700 879754348 645215160 322525845 817811749 858693046 376387848 485525604 333969434 141563981 501205706 658061613 135944452 751981657 580176867 866629337 637316309 991223324 678026255 930934172 379258375 938301064 479824976 396512813 839909618 792140663 123409934 896258890 326119311 116612654 506474759 546588846 423802343 426886202 366575635 623598318 721141834 587214623 730289340 625216434 548153608 898694497 466521123 913667171 781242095 986501721 136953857 487539267 401015902 365400525 695371533 176174777 161933497 155670810 100883513 167762387 983832760 396213726 607367621 483863710 304049003 539585889 521487597 554879202 497985095 415486161 455631738 503748385 525794343 452170122 969885146 833595502 165013300 381195156 551531820 301717797 840160036 971409916 610842270 806978352 299975096 288053165 797858884 557427657 803827989 472697876 445802262 668319773 122271022 540066543 809799317 959135862 589245381 622844494 142604232 411756541 443079492 323266030 940412329 315755971 999797705 687443971 463159206 332756984 440144037 260660464 396631167 860664921 873034223 189748418 941958950 229250000 614541382 308277041 478223333 412203837 659625778 394548279 689456660 104330504 523019122 502035230 165507452 489523549 328345680 454254231 673222228 138931029 787897435 242934527 992801214 418866799 684226349 118075571 743922257 596933882 861967002 577920349 712386618 421251001 327420090 584074800 972923131 450740649 781255456 979886969 181859451 219675438 102841221 497148609 140704111 631491560 825357043 565154017 565986377 883127961 522895592 852635108 825125612 649157749 316341067 504148541 128565661 868455290 281632821 395277718 414689693 466119224 764244398 939346179 683814457 196067573 858517414 426748642 148498086 339759093 145972278 855212808 642290552 579210273 421424424 106956877 585358408 290467573 231471147 942916580 160605925 686787493 218038639 610170100 981081007 812066254 580751215 595688846 952249579 929900338 491550678 321713535 121516432 340534547 561355210 439997232 717723635 816882859 519623351 342975834 172468468 146320181 950506736 268955026 410976464 320502248 368374997 628934640 831217895 889377845 473114051 746376648 747155719 828272966 183392861 633863200 124213897 893177124 748680948 808367927 789022295 398893363 140390828 318711995 964662003 371365746 178286373 350587534 409383870 325025528 578250824 360892298 758057933 360928096 221055713 743248705 491203343 256493522 441423534 689509488 972373282 485432146 762315176 583221267 990881372 293891605 202942740 875881880 643244107 419005288 303047248 722702963 437259476 441303349 363862824 292532763 526130167 327313494 332826932 251523470 417033879 884651846 531395705 621887844 790565419 250448814 143952624 237016372 249340001 232663517 401170921 682399825 703590669 772799838 167002967 836461352 406864735 623664370 586461546 975741369 808780466 965300599 370353133 394839837 589977091 673949459 431012771 107440150 970618010 791941191 251940986 792329389 224619839 685572524 155404257 117869959 425554336 320723530 377351661 587086697 196022941 938863678 566971004 476276332 657876425 613846535 372130272 519690470 113939663 252221078 962157777 724495673 949839933 699642632 808396223 181455934 822713339 290471016 336360633 640799472 480842777 903859282 504737822 456707196 513648587 327426685 716933846 359325139 455318987 343855606 462283344 913356008 814789010 376459123 487021005 133843807 919335684 762681070 350291279 658529912 857405987 267124749 317190682 522746211 161164240 628593870 228255593 912864219 359054444 956848847 937556374 674280983 306163024 116466564 903020506 721136237 702242444 937956248 140673020 850189331 486494029 581011215 933136220 435846509 340982238 957343477 170298878 742764823 242884577 766922143 194928834 441204163 500551924 562110347 205764245 436247313 333618914 973245275 563072068 139626250 350030553 570647486 385024410 527622846 790118239 237785106 461320914 990562358 873976225 175508848 877662877 296619817 700761961 132492143 430291796 790382116 737681725 828817998 376058326 681659951 609371257 469213092 471546780 917838619 236853743 254421213 294326004 635784878 216941775 850118526 853980385 435547750 335057712 649126128 262374270 808847166 166722039 227331867 212197052 667789440 369260000 985617676 315279657 450843686 847910101 474908340 181136225 416553478 477263502 168399424 739530885 807216951 314642982 987932493 442054411 910324497 826864614 657352922 597202259 308967386 195086930 295935615 598309762 860492806 151879419 121431604 562165157 968081730 780314075 493790591 120147983 148457900 510722789 866274582 916839758 357913194 772511677 784884610 766575132 631508127 604607972 621042716 700956380 889545848 223940906 564551684 891918340 482146531 814720742 136748316 528730969 989213420 297820470 544968279 281259336 554516569 263759541 453939142 492988994 769154060 948104158 182167414 249239081 363371323 205010140 797445014 570364100 460018797 806533911 990981885 431892147 939293526 886464674 781605285 358449408 836141095 276791524 695121352 646719724 483925737 544450496 280886337 966815017 994707069 423359685 478666361 240022576 762695999 333468666 619936828 668431763 194942802 195471683 641194440 213448483 911780404 335593888 243094613 952620451 185507033 776237677 379551283 261749770 369723020 350599244 349446061 381482773 848570049 448435018 315136211 463727768 137995830 850491272 874730215 327563620 892265011 407706241 214275219 359408036 293584696 933001214 637409464 611402033 179813177 410822043 126032370 615997447 411496809 918925953 167185408 473581317 969871073 977786098 494327436 357021492 960177668 263497699 830294325 376197065 135543987 298109727 500475932 568937193 179262687 986441722 588844060 731123793 711477773 319744171 959047906 620416755 561896289 221768773 718143304 978770149 155302094 840552306 243165561 544641782 367056682 547924584 301199688 964526740 983074048 268220349 462862278 687660973 104609667 709425670 894778408 369414080 323486485 640518477 311182425 278111752 617649077 774491224 186214997 669010857 756248877 127918023 947332927 501344603 865510717 243596770 252805143 608712948 652285290 473000814 179093916 154439850 391539604 843921183 441108429 558556881 231611323 499980870 797221439 491566363 413589327 664203038 407736265 163432094 984353153 148469266 362930755 567947591 827900797 492286419 210344027 957496796 466608162 458101048 377786941 310812671 206125417 957622573 302309569 387238634 347111336 129106400 714205975 201027478 748742837 444714686 128890226 764322919 112199929 654522511 704593668 955467030 808674939 651100478 692979449 887564831 598151118 742094752 628920737 579640964 952642479 671207878 904134428 863853377 949278693 355966859 786040882 302864673 846857011 336018391 627843036 758301686 963319890 578555077 480940819 899325482 786645087 653763870 520406533 191107783 135496191 500896224 706915515 145885490 420066385 830438456 919587483 247078306 984965750 156990208 731927568 775779186 928615247 942149236 634414139 359014271 340216325 957300730 881186415 869286771 365466421 991059241 537286129 937999788 266246051 661838068 952847017 603732967 233460650 435275297 687877153 214492484 996085851 922330658 750754514 664034869 952258669 880297911 139507449 635194361 770234655 938116320 626788836 589552128 285148698 248542583 323167769 451505909 449548502 506179942 804070172 462392712 613063632 653064401 282663708 285153308 381416131 371895771 317870092 686616299 172988863 518406012 175312380 940872792 332256374 393464776 384671340 631513884 486800281 716387569 881258757 726595647 234250214 756407492 631990581 774709103 674605554 785525511 862819294 557208576 895020632 866372473 953365395 445978923 854235525 131968103 831758155 336835622 266266659 820367096 889066829 702201714 232082721 971018105 728152887 472399330 781238358 269699641 552802319 938969041 357563257 481994315 146822158 318522344 314940730 358860166 926149361 173421297 921629614 536228674 676557242 871270744 980683949 305014621 819428854 114180001 692001579 842933063 823718440 247553773 768873880 493620999 129145039 501118971 597085736 232974577 302958585 200587439 246765056 624895602 980008799 635996599 789179400 335752896 904141966 595183969 364406521 684692245 780324548 678959099 967962298 376440114 587774630 935115653 396592827 350129795 345950853 820292120 312148694 151997302 189897400 187548992 533377196 324487418 568488773 436933323 111438024 119363936 756714796 483600890 533734058 840374672 656497315 165909198 756485974 152011108 468567543 522735982 266449798 603886082 690555085 527615002 397630128 334953304 351400465 733968081 820001163 820049409 591829703 379427329 650548894 395551915 357886539 318032040 558304397 322676370 187435568 961284563 241714018 221222124 203062666 820933459 459581298 473163366 818385147 695971558 185632628 742725397 589497084 612965357 788804283 707735473 167532425 820670380 805444916 772619029 662498274 775128895 478628167 239844273 166832457 516265242 693203356 217025544 348714275 724784748 898541787 227481121 980044923 137829392 487572169 192833252 615178940 943036254 531582082 937684191 141560165 973401000 274091142 420596234 965568167 746085771 336342936 903574169 776547678 917144109 518261597 506638747 679810379 409462811 848301940 100215519 924015035 665805974 367997419 850684279 585564055 668159759 591085476 315411419 146889862 820281485 768749210 283096685 892044368 298442392 514033796 431359117 133514377 234746077 637882456 326822147 871213801 646489432 266077764 319317926 505032868 183201078 587915729 509021071 762274494 998881295 685679607 758002129 549739182 369969011 748674256 558765034 755294753 451983088 330645409 871824947 118491680 796999002 824218213 810860994 190793482 594547142 364469523 473661718 374122163 329313171 982262899 391480586 251694714 341596955 180701277 703575131 378070767 415545964 226099555 275066443 253032561 211841043 228967383 407891796 957195660 290689766 297742694 671837799 599306137 216570047 793872128 613686110 475176408 112839135 341345882 313290522 800770246 956814535 542304989 776288790 505096134 219205929 304482569 382238508 274846384 906587219 861438940 541833652 946515884 475384206 810396779 491976761 268652116 840050921 358935603 146496940 629924267 592622878 912613919 325911587 792911910 814561878 733135409 317804466 131827274 106712063 356253167 385521491 602565888 699027524 263703114 260879095 357246643 408610289 904383836 838743972 579614374 456198004 756109024 821691908 168755230 524159390 338186393 365831203 804091686 245123245 455447462 903355003 710331752 325593620 920936719 325682033 396669743 361778644 802330423 387784836 924790409 752463263 336852452 128302332 515386488 934822541 326045314 640452962 234877493 595363577 322361241 562800960 165408015 666570501 377095502 796717785 509720459 586607415 296245935 325873705 523823514 737297243 322419374 172807355 183446077 579006308 698017838 187495775 665224336 220743595 885957390 843860787 584184205 318935981 347907147 971725939 238238169 112261798 752381240 192939708 979100141 264983128 729102934 371035070 745219567 307760510 577064294 683078511 811380648 387220109 412753959 506166972 766826390 729877569 876923644 945825329 437992592 855809681 459402711 536624457 682713591 501935216 932615469 149932472 435176906 706547075 658927650 238793847 984851577 454461033 332899559 616251148 400278295 100349698 933282264 301269528 809886402 195052969 921700551 101689347 342907254 484305701 352783067 973895811 297796104 903962693 424924799 815899849 511366525 946210421 975640780 323164209 218906913 671748890 401935059 209258559 507902620 341852208 572754793 123028389 304010004 564691787 528766627 726623152 881675848 418375443 543381153 143158689 466416822 687347260 455708888 406242274 321942877 857605245 592434069 599376326 398520054 926451909 891469663 661643437 951058559 225322178 116019047 692943548 475879357 437825099 731443921 496077875 444121014 666072800 298953073 968238069 431850195 401888711 514700334 971049802 885912213 103370964 982792086 251121285 701049687 892351626 466310977 810982791 165591935 784139293 333733610 840167950 811399963 532626359 990188420 908488549 562381842 550939566 533857377 629312631 816231860 364421486 957088745 358711731 726537927 372677402 407629704 433409263 319977691 634222207 676573512 925974356 800074476 826614323 652744539 883514814 168078859 219225213 741835385 296329572 707382961 905344085 857811776 810733233 442793261 375554854 561271910 284125170 635771668 552601667 899727729 638522546 197322295 557292155 639812168 620163595 323071713 336619215 679521036 815110959 600210731 592474040 412999877 442773659 270889088 732046018 338167287 293858561 548983197 396592427 371646687 439306295 235816165 222322813 294056444 945216474 616628657 728401468 281683258 953932547 223605669 738328382 760482857 408890879 392174802 281060585 195790365 847095510 865397875 732512864 976910583 791429892 876541426 536053081 546034710 795573638 425396711 873313804 359723690 519608851 642354067 632119030 138107532 897827901 966058796 493527479 500832127 936458380 806463870 715279911 800757488 399202643 929896854 977448670 227109106 796907240 188032984 413453792 802430339 262870879 170330050 206511257 547972169 490118554 969399423 775348945 346821277 863963525 444484212 575407205 242067343 499371326 109928057 740242522 785862616 204002102 174984513 164136043 411748959 421283206 511510230 204598779 159375493 891730475 299834244 738735702 667781510 742307010 374318473 247128220 303793362 790918447 649386627 298788854 388348780 778650439 416575430 595485212 804827286 498287162 143647247 834095680 381801230 225244684 309530679 652147385 564953553 972753468 664283237 523123211 836162979 367185478 484483424 200380489 998399267 177519165 553389883 191886041 259384561 380066644 400473565 307571872 996488869 430168431 886357254 723106249 262971515 874630563 236789988 604285502 421671029 391842912 885680861 388454276 475399637 318147274 745316062 932981151 550501995 930425942 689741576 404996868 481007810 534731785 855300162 303132081 110042971 157882888 352727784 632036572 540610415 859407061 884876340 787781487 648616631 484144112 200372508 532354246 610654617 103653611 871327563 620725672 680806740 623389110 111419743 269525823 442222326 923975301 907744216 989174621 105605947 944740325 566615190 144213840 698590170 398750222 531764525 950288682 503668814 781737447 574493218 441708238 392096519 200357086 815322657 516940644 808546003 383970530 333186437 793866845 717865542 438430818 167009908 671370251 238973049 362195245 507483869 588670941 118310557 324984118 581558207 666253335 387826111 705724736 611629675 380047679 535962775 354546668 360117608 499969661 420305142 582511893 918408553 745968118 740399287 316587001 845121339 275791827 961087910 923324512 739687953 674691879 410876882 932587624 284879399 964829573 428829107 126094431 679281266 585127166 397630740 316541830 946602815 189485393 158202303 556398322 538736387 155894529 965620875 792175833 396630692 375351741 936847248 480055644 557054017 692602640 322207881 472797707 341248223 857904148 830792485 262515089 558982179 229723932 142356368 791189373 842838665 674300644 291911898 846999159 600479547 135315524 272788848 254565265 153604603 341534654 525346450 174527444 375877730 895524062 745389470 541439301 979422853 529020545 413526239 768048735 236676316 100667558 887868989 483870625 981267082 636198211 142050710 120317843 285874084 834647045 919196651 837911201 451498310 362800259 761069466 457248648 384905624 111944972 893650388 844716683 706860600 431026618 593617602 367631536 423136338 590319065 544813364 851538689 884130282 871796689 780634033 818563956 838237372 515048735 521131956 482394343 595625231 685853530 701435487 500940686 291550678 251182277 881318069 580082126 122690658 288114894 384555376 190802461 411203087 627866324 579437957 403735315 148082925 206256310 587810333 702411354 673053168 123619903 601214239 201248996 251155757 256115102 739872124 553553258 740239460 124466451 663530631 518917582 320383139 769062874 879136669 188612710 107130915 959681012 565553123 395259540 249885617 830411502 423532624 606341345 261359692 605269538 331231104 883136800 527819504 490803404 225767064 241640519 875289289 287810963 856872353 387057789 332475102 620774970 825563631 236689450 917757429 931860565 905035307 157393901 656985854 127294529 261455284 441599205 761724208 631306590 329017392 745120491 776792153 841378719 412599624 841641932 760911762 326848550 568024877 509687653 615387452 373556446 605459811 671592920 884108372 186533421 727149882 389147232 638191761 253739325 559782470 713032333 383930442 501111164 755829294 939003144 987762788 909484300 120172303 381308910 952084762 208676506 749846979 717844857 910724924 716405810 351158341 900999731 221301820 308928205 620301403 561709986 409729728 944776880 126826538 316525224 747475791 376630460 697338893 547566505 217092322 828720931 809735256 567542785 305294882 570063083 481429513 280350662 191131005 318931328 120951032 206511916 860090361 845192768 718372326 914465403 164041359 827423189 579764636 933187984 341400717 715399270 126929835 113108781 616020925 445412709 709498047 744770892 941721176 645124436 913293205 453349942 521053743 174217141 577016362 817830516 113806076 570082159 193113999 514780242 621417160 806987370 106601452 204157154 490997895 431704699 493664348 204447722 581126523 227655294 199414462 698400421 787372414 821506185 899644747 347660089 958103311 410850251 910327851 559539043 998244159 957020529 768560341 224340044 956505678 322915721 560748768 690143954 481460636 151522847 226058687 609878439 150050044 424635919 477941390 572453152 405294038 559899781 417216769 675231944 965458298 312379175 389779897 476855260 122912459 998788386 452143177 754191119 189218512 890480446 539594543 348822945 787777779 233010142 646543036 963731691 200788809 304313853 532566721 185751894 319974572 397049218 401846852 642636059 886093087 613426971 461613325 815107490 109655544 561409558 558601113 350582859 261602643 722097977 101330941 681758572 285282632 391211661 530437137 405988870 209825667 868143792 566510027 385538069 888603087 648050532 127834083 993255789 413283455 843347983 192346187 543315169 208809208 356441750 627562453 102957427 996480349 272603165 588191048 648062260 769395324 257205413 951657554 275011187 567629548 718048249 779429986 742018507 737958436 539268080 389999549 927263877 212835835 765395974 559859196 346785432 320790232 899828516 613726909 240816675 584341828 122844005 187378824 270865052 473570770 736234683 111381179 598192404 457570995 734487522 790641604 494082916 630444718 770715212 971171887 782146021 247653938 617947367 445562472 872569306 145937508 890233240 747871600 873384557 925490624 189117193 941933891 902721678 595385305 195273832 314245305 946511377 588302331 992185090 614222541 189147162 152441232 393058584 924855447 197078867 637778643 169216242 243650191 463227119 370581348 936608000 766311865 434964773 264033067 466817534 578791999 323336458 324080648 771867049 721026914 581040275 715438005 672761275 125287561 242057682 553756187 915891499 905303575 474327480 323836300 980914688 774728446 375943479 281888809 842305474 196373748 546995177 808415279 162504121 399311912 683865113 194623824 356073679 886528188 170481990 213591067 107235931 193160839 184861745 495043900 181337587 264483848 973289841 110102411 679773683 351598535 304743117 104713122 667144856 160129285 298757796 271268775 246562954 732524964 588936011 577847528 511514488 673096259 450476592 835282952 249371041 174128730 733825051 205862492 241662398 709231896 917570259 855886693 790869280 433040611 613207914 466613277 786463110 443418727 382183333 912099745 883999230 622943075 198502706 969713012 923208195 798358849 347520206 582947558 640954529 534918902 876701209 771826867 811053533 662884539 728211001 772418714 791181156 680394749 528873516 567128247 248603231 838154131 878402510 156848271 399876800 369560561 871638403 297047237 527455841 888753941 620483007 686033534 165312869 280615544 157510053 532323582 373218451 694951755 852117638 152109293 390232061 514745996 163168693 249828807 844488759 595788238 362981406 812222091 877172276 569101350 629423536 366741672 154845104 133678557 331202237 879434797 807291966 728909007 894680628 785608174 861878971 432418208 510897213 145991879 621049386 362767567 707771087 377668744 657164974 508706421 500273933 173878008 336726676 171938245 394670359 215998697 194391770 885379415 683618217 180402573 935244117 613927750 321981536 156796005 325326243 596551888 385319694 220237322 658890028 475941688 277477763 481243049 140877501 536568574 210506072 640442260 379109989 582402469 458371824 889564827 898146163 796656031 981810512 124922841 859270611 772719442 220890920 518722371 614479629 625163418 789537130 892242868 509427210 756146988 106550257 176843750 804835030 671428746 556817721 383938863 180443535 264991725 923174514 749153894 300255348 886211310 821765926 450143289 373714157 683911366 551314801 332128958 167352418 213868030 303475595 636899675 759680445 740412190 693546144 565429826 249924789 643256480 289324980 306082159 396660417 406845957 662151851 196009790 752432601 704216086 701138913 191997727 699546755 181215449 645465662 952314050 143640252 408009103 669639775 682378706 947615088 583837797 218264106 659457894 562066051 675135196 509684762 918748231 632670591 688382500 759677014 451070025 283751831 993037661 525726524 532383623 371555066 112311633 898176107 461115317 813733976 724760987 762225854 246969943 915641380 458451593 875648112 853716523 562654069 163628188 826973629 613437278 839917805 928140051 104492031 628535718 441174216 941955194 932551699 437821429 523243343 848830289 585840905 458542679 220715875 511279755 391721761 330134385 717690872 641978702 954406284 859747501 537954344 952144483 531653878 133881683 555966847 643452471 627984249 185070290 613143611 109256095 250916379 371201985 628206883 307066012 848409968 784098529 566315838 450572078 901837099 647287251 407493505 456509949 856188545 633669987 750376833 730134630 256615788 367487301 657484838 468088184 276804644 348601982 360981832 351102736 486860164 452776059 121525568 973032612 263693172 663420549 252727258 956374846 580378090 605547982 606648539 794939685 816406200 549509946 847908859 307818716 666263070 995552995 836003385 348050830 398556548 235650733 131327224 472493943 247712888 816259562 315262813 722712582 134160935 168082191 484817154 593506399 252554686 608019270 577159138 605349166 473413034 112926620 385626990 232481261 806952596 510090381 350626872 834390894 636256698 692221191 535144350 176895757 587161346 364081953 576287107 775147828 100297530 739950088 946578695 761973634 158930570 462175322 364127892 211817742 280359189 606319695 433204643 753464062 514611488 757148082 120022087 696324308 597000955 956291228 236746000 927111435 834769149 763489033 147927554 598273490 836169894 985553414 870078329 778695665 737378659 381124146 527945582 467827180 103450158 282895266 462554225 308658109 308413181 509025464 211163648 263048307 535348354 170757320 515524878 886753741 161276741 607209537 475417031 262224958 181934890 661352546 165379268 715708055 971994749 667120162 914948354 648282622 929072944 311764416 258320755 280236708 819262782 122303185 799137220 977107075 816639618 682041142 453075841 832980310 269654465 395522322 739297257 900254140 516010279 405251116 702529125 141750700 393928673 504219505 679263483 254605288 556993439 296458786 963351645 809574526 453832802 298347921 189477879 708140910 769409659 944410701 293657333 998741511 152776243 587538658 257033918 285558674 117658058 418372553 604476931 628258574 986471825 840546838 137769681 477657548 663250452 400812075 933347637 921006291 437739969 331081782 832047316 347323755 192237102 626284272 846319400 956856936 628965320 557912044 965933874 120259496 299443289 632386434 137978202 473770357 180662435 625272004 603942382 460381540 925829624 262052022 862098468 791133932 563418315 956871943 399906969 451724691 305439921 563107239 188846410 189897574 129929179 715320742 223175264 107555961 867627951 996674041 269661460 370366491 562448171 420544373 286939403 622432407 589054966 740022970 901807915 992633138 302679436 886503551 540103713 847342008 430857507 936070618 476111889 235259794 281582629 874000679 366310883 510649491 959516763 696037030 972269388 392462901 612947316 956747797 960863906 338243544 570994363 700613067 393414850 522802548 909710172 249683090 774730998 890125701 709111390 354811457 825714025 139637302 211411256 579286704 747225125 290897838 717616413 734208448 163839681 322941797 224579457 954921444 398192889 952837136 927001939 988264125 386901688 129029551 746789736 516265774 809314096 770440429 602328544 721185180 577685701 952066524 859405248 815991627 106810988 678669107 763952375 888720593 522099928 747489071 914058565 581256125 812497766 380464537 562425675 135461506 966469404 159046054 682382694 805749345 976472966 511704686 527674698 784347685 106197495 536371459 947926008 433442527 394162648 142614699 959308161 536324052 813458793 437080324 960869954 367504753 996579669 733447567 537594141 249864545 869810217 325584829 764419784 936007611 579177660 816660106 545021781 944510683 420713452 785409196 934299611 428635619 577768612 755121141 111412798 467442073 873574983 785916585 856245356 915342740 583848071 889065205 639315673 296274846 218734796 677210483 523959446 137256346 499632779 254125060 186304586 863225309 735343783 947467028 883102424 144669707 803177470 949784132 383191805 998738211 222833985 330932139 323710876 285943061 645952439 861360854 753983921 120338245 628729716 515057448 344139676 467997107 739253564 742108786 602074613 597323231 473646296 590872449 784111654 224693452 778846649 671087089 404588016 511298645 599279457 691558677 801148987 963486153 554800245 738751647 278118162 202937740 547597919 594444809 272443541 956708249 972070816 880560118 888567830 968205565 859757513 769549815 876514917 829048624 579148902 566240150 544127691 223202334 880163505 332561368 876570813 462216659 297955235 505457515 313453941 820313717 934051459 342514811 158914905 992632974 220697625 229107647 503268764 933576274 340219912 316033811 110566081 633390907 363523769 556413856 520575559 153628249 108134463 130139917 437250403 157435564 109353200 125439536 564604426 130089738 517368560 170222468 610037151 165572185 509044294 981218901 208648654 597802539 995495473 353290381 312087806 591653565 590056575 153747150 805927301 617695543 582612591 776207840 630296817 509635459 236803579 339161853 916532222 548325218 812730590 481329247 433024706 139572176 797039656 353764110 626502483 263577125 516231933 754887122 412550907 636823772 269013773 612671085 965125220 745130851 805307410 481792737 233696794 527188401 737629300 960253228 265061417 535272587 442690178 310286157 514973228 322486312 227008398 547619173 361535544 662312428 679910303 123729374 499294729 271720767 830543452 690458528 475160072 691339330 312608524 507382416 660197040 746565032 324416955 109240615 520952903 906335546 766550472 727337085 690284869 863972800 528471434 408064251 103744135 241459287 601836949 572639821 567070603 739323685 588268578 714736323 505499326 153245033 958091722 286918557 523426682 490609699 364950151 175781932 200739846 255781841 581303522 198858357 294272886 916311628 781703255 518748021 890749516 278377347 230289549 208386362 125267270 702151810 333922724 654347697 802830721 438397291 829823299 821610144 744859086 379499169 695949396 365454034 481453368 229820786 934689554 273993667 897593569 244537504 585833246 435342533 935367910 997370670 247981097 742879548 432616560 348385676 276609835 506227971 649141950 600589309 558770346 532755759 625487368 279069639 558853727 780260582 505592877 560227735 206038929 591160304 612554002 891655031 904438022 776258489 656093408 518482842 443947148 877558149 741556761 168559027 633885986 878579638 418272736 805378489 179415781 170570284 595260635 750570449 455295553 733251229 259745538 974268680 907501311 541226699 615743497 252327805 923143778 728352910 549248260 250288275 890955598 505263838 644775816 473358917 748520522 739517361 867386163 857860803 688316690 889771216 358218509 800955976 534909866 867650698 872067113 909815697 917532853 560213389 878907557 283847415 977758970 557324549 557798868 585874457 786154562 852515758 137787939 180717491 451697869 380779208 900616646 317505952 222922993 509921316 823995679 687204934 506650428 664821238 565502732 884124466 265695855 815581292 571573701 318089330 441545434 596131905 217487908 903083367 640566521 474511313 950108894 295536973 531546238 202250273 838532070 209520280 401866053 211993405 193700957 146336816 400115931 664128049 969419970 930593708 765194180 743833844 650853818 691339494 227139883 275893601 731395876 476954509 229490279 865775728 780261522 361384208 445784970 513713931 141513961 161374328 568383966 464572544 970040398 590297680 745683423 435017708 578860743 152680508 450404811 197494332 199654167 561512457 973802901 647038179 992364222 272165054 285721984 706097598 371352448 758594244 805323776 133265641 478951649 887158759 963998605 760875055 476212105 859739175 423457808 321203204 848160534 913621352 322163623 988144936 868752975 702048744 555537196 785109405 956399388 922628414 555166623 951314042 566137546 588638722 432681437 936065690 478259756 620487492 811118505 950838311 490350139 635351446 746980702 169968006 157365483 846211357 147928262 391231927 284203134 312696624 232371121 911042008 766132636 413674202 220756868 222564462 921100565 628914578 812817517 942626432 962292471 931431707 988190125 576025817 193187044 357513995 131258552 880333713 271146629 445859698 467669732 764244987 126672783 421895127 841666948 708347181 292352936 363977548 784414084 995789276 551036466 952808987 617636643 125977729 756603294 301837436 851634281 485643579 329853968 756676934 782258600 861293978 174008265 974833829 823145550 571061131 202562691 417753749 915927936 328240979 402027007 223386923 127607324 988674410 919574405 727446308 215246303 726779219 389728327 838701750 493627268 667823022 806051304 255552044 352450806 912303407 273571642 732955633 890831478 824282158 195869782 225539722 956304902 110942842 412837553 334871795 463284888 185887261 292265644 175531582 767414268 510356667 837241775 303745745 417926125 903138178 227285772 982234937 987300205 222229386 210741383 838431639 486985304 798920162 408038293 870669164 144247188 526575868 607695884 983594969 144901685 434530119 570182252 622936006 179233818 895164268 910452193 590954590 120796734 730697924 533415279 664920513 182151691 112851104 274394258 846162355 358868709 160603971 358289355 827414673 497767762 321157209 379486030 379185960 930290924 398195595 752671095 584035715 884339508 900545711 700531272 599533055 240216432 918001266 660226894 108030300 759186659 173567753 369058849 935300939 355647585 545792075 543040336 565705745 739165438 616199304 221748815 570526377 885186005 810745118 455119209 981114212 670491678 795956014 857510797 100242842 577608290 256473094 187600206 490467529 993609510 130399635 577471930 716558734 448994262 202384810 952839158 222001375 119832561 941130438 765663703 908355529 285105514 846013614 715835574 838671265 557012988 951512687 961580614 627975805 347392030 819389211 116773066 285613224 491809386 655655079 125615173 311662452 751500931 998076079 835431556 154382762 489625767 280050737 259710645 794720524 989115740 572246768 980942616 674561076 959972038 691442814 464077788 802681460 816024233 959108204 830979321 149171556 309889718 741997139 997000292 808065840 555156195 507568354 713434719 519513785 155547517 269392734 404203291 868372760 745885946 242630891 784383016 840447326 939265639 825435856 247956665 797662190 229949272 736836716 257815601 140242065 244458988 917436137 732378467 554938820 406317862 386840489 140973429 663735921 970674495 220924419 926194878 132992839 459907108 555043943 417848449 245365199 898874200 112927202 989337005 527031374 446561044 680918055 454279177 179618856 920828793 592308599 221952386 955964374 337532551 145342168 499588085 849976793 580803730 281617064 975494502 438509163 562742279 185236608 772979231 592191629 574231053 959471992 241957219 556222271 168754856 668450085 525899851 848201539 607857578 566497263 506838634 356165993 186808152 285899574 270907186 274179709 452221854 264482006 459869011 370917470 887808766 327253601 246311546 633549956 239941861 922177181 559978422 381463351 145762900 911329518 268810297 917219017 879481365 810683706 104724347 478046053 515926328 730561650 830530126 825329497 834667179 110180280 816146945 750396888 247717551 609526740 896433153 736716033 188372947 384014925 376981833 800272292 403222523 407968223 216231490 522722795 763482435 758905489 431144075 675109881 942521885 963067774 102990543 173704442 509122866 634277761 442932627 501947986 239834513 127727135 305186578 815626224 971733617 329916925 414020743 637822837 818097966 606111049 631199721 735008157 411011407 799366945 897770668 143084664 459343968 418509858 243956299 959659150 403028270 732248695 441669144 102377546 765946976 921853873 735844264 909317367 273618849 588556800 987274360 500183406 878474817 646431944 789326857 328862631 275185231 527939897 276422963 272211411 257194053 524925025 481749125 731037104 799716222 173793459 848475039 507236610 957995714 523952654 833527194 218601192 382534010 490994238 201306632 786276038 125341023 968015725 210697166 269622249 103604793 357593551 331894318 313537636 425260453 960397516 288546967 862181286 738182064 924968497 724196154 640734317 527055266 832747410 288233198 756520128 229482967 353182545 583828161 246187433 665974566 503670943 833018596 820907590 651145168 831358000 958192152 205181323 564649429 707421143 207315810 504398893 485146737 565649445 205499336 588987583 145752151 570959087 529063538 258512896 141516888 718309410 787078252 302277778 492483153 525868586 674960615 757299323 997580938 695406576 724978573 754834416 142435189 599167550 501603157 128434343 886643579 279984023 497402595 562153320 870656306 396665333 778644073 520279908 942070420 601605737 307319242 200039911 885722000 131394639 695071644 492409072 556419215 496018054 179792890 797932397 201449114 668182790 455774704 272008519 114884812 548673420 518798050 993820801 465268223 559820927 273260977 516687262 382412345 473742791 241668029 736275959 288366581 318155736 618614485 811408867 636018132 761300182 295692249 959157038 642239370 840384254 214249045 714563234 274199749 484961379 362611852 422576274 395556021 815913974 632971558 346991871 219213055 713352496 980010227 191631759 175483428 394920448 111024695 493815236 308241929 369097043 945623891 464417958 936989377 166894581 196130176 456269079 501482631 509187975 782938504 975325118 579045664 145005672 117523043 276325653 473376549 733203572 139200230 793955506 824482361 184801205 907361155 667298693 842222270 507982356 626537520 541361143 325298029 902414057 998706263 731123358 949999875 512184035 937610269 376649037 198155716 505782297 250040608 392156232 679513554 291585234 583234910 811846479 235246880 941980879 882411691 790148219 748216420 718111960 275193701 442818751 251061754 225223675 796590066 419274106 531608453 272184143 824284775 263272018 355892094 956244576 852403187 321601635 326245583 157897375 439536541 947355548 398574308 938127661 287822499 553094557 510211477 975821426 274914740 493885294 759716130 278293967 188107335 953373238 545215920 945841691 963569243 811090910 827743627 117680991 455240563 669225938 560740201 433018573 153929631 817487268 899753604 345889013 644799245 623956846 756993223 196953100 889276059 826449701 829648062 758223273 813129492 274954610 447783388 732560360 364266313 144926618 699206478 254438586 133205395 956250771 887336286 361719829 375419511 364893045 339279361 830065542 496284677 360141263 965509198 628855947 204508724 876166646 568050351 491612932 529113826 890972424 147752568 874145781 373350710 864119095 772769219 579709024 472943434 726335885 638664860 892705769 480406542 316830583 695146814 884702073 281925049 768220287 896588869 155965306 157798001 391513500 738849248 122105142 477057411 662435245 828772441 226885949 308809243 613034696 230189161 626649100 752511502 357731636 205963974 886797737 933778589 612144471 485985106 706682671 243238357 743952905 508756950 860367447 368073301 565826871 403951794 791073707 180635444 226523394 393832749 944602996 762461231 418663089 457421033 516907801 371109944 621820487 690514661 700867560 752502151 763491534 255444515 165578101 290942509 623381038 978919111 996779882 946124996 273884836 183549996 724079823 736973156 803053266 364334229 502340760 166674621 356202806 125216523 979075874 539754244 513523138 592266986 826336471 317347798 495145531 859658301 809710836 701854906 751143267 526432115 900966786 797467475 490080284 999828667 923315335 161726599 399119407 405075492 814589041 340345168 869540537 147028169 909118246 831641254 431847177 211855628 866454902 350753115 690931391 682491064 779721209 989809279 801224921 706567419 377457145 318090756 234549950 425737796 651868746 495391812 730203996 131352072 569490049 303370623 531429386 525311245 447813768 362699997 320983182 610136159 177719226 196965267 426050650 649037082 606884498 917175550 995920560 574419478 352877786 506280654 132458373 652201348 664125528 524178477 580824241 333558978 632678018 220453230 445145328 246039580 297109478 503360692 732096181 218351707 576219195 933511874 561861590 997481019 821996590 166946600 771369804 934680558 848634523 846691200 890826414 376317211 366637006 482410691 562265434 999508086 400688665 488975438 934433354 828976159 593152709 289277421 794884003 488893717 144464447 632190189 357649154 964182578 692932696 231330207 103999114 132069060 961686109 916736414 798073749 949333648 258531352 466628255 998157906 518277452 415648880 550665757 586347594 536475738 643758801 695185124 894107850 412672592 447116752 244411154 140087821 795278607 219307181 607894673 329652448 327258563 486653757 200101955 982663109 287261753 366024645 254240893 922233187 338859583 763545365 589715343 961123496 857699543 142373691 286267396 540060810 823607612 354844318 977945756 564229645 360099823 123617488 483321764 904146615 465611276 431589644 119038816 627861829 337032767 213870283 205057183 529010985 774746865 615410028 566218128 565606100 641604104 672945857 739034333 514139976 369577120 176947829 831314500 164081260 144161933 637230903 461080044 966980624 475210291 863901483 544771269 105940184 673374408 368884427 130277062 198982075 371580305 897234475 459339356 570623428 843201498 505224277 453075845 361656010 866165127 534438769 630036943 420466311 888864261 146387421 622866584 317344539 163233514 610383325 825455181 241443024 973194964 148263934 198030009 850827658 320037439 398028582 860921298 546221005 182442331 977897430 989072452 217606129 662434393 164658016 138769325 234099605 630275933 684278478 192350758 252423058 100289904 140017857 834179216 144023673 417458344 359853742 799305837 972641811 956276525 450261213 256324364 654258138 663596062 743998484 834280958 394983380 115845652 547606427 233404641 587422774 180425367 274619284 198423643 511885682 289534826 595087527 239437672 183291457 102694701 574192073 294269427 503348519 198031613 586661098 677780519 582974133 742735711 998256629 444217905 965406250 791746705 845846249 663825041 485039346 588525395 526060552 824993548 368266860 298362490 178800670 575585759 397691448 446156236 860765200 150651457 926140062 738150763 260697535 288013791 720063726 391328482 358308781 246334175 416130927 843419018 786782728 562609684 909370368 132915532 791675569 850012777 819204474 627959925 512620934 329546744 985906801 436915932 206097939 198368809 179387325 928868373 343304461 817809708 893904162 193085329 108515838 409291030 926471661 988033533 815061587 198622534 780697115 603008076 655261774 383661529 317022828 722358436 961989086 632450250 299390854 291405906 151825922 889935040 805107292 811609563 257133641 800018778 631235556 322475241 324362984 398078842 853926792 723478907 508535864 292567014 154604358 132711701 666901489 373871286 933048120 450326455 802637630 807549702 370723312 385375062 353143599 259038937 213794799 408186382 186557593 304847069 104895568 480462239 415058889 218561373 129443904 987175255 447410191 438178015 307308443 697046662 272000494 551030634 444470471 818579430 529397036 109817596 653336839 437484850 351760585 450328408 636613038 283570994 543214826 110378107 816734035 598541559 365583341 408073731 956305166 744620077 441859773 931444319 503855538 647697667 872693927 188795748 596993837 627862065 611812718 669130652 616493210 476189129 196012261 401732194 395146303 180603244 619559045 248712871 255659034 498377281 252949605 228128924 620353337 718173476 628955835 647845885 213659147 785699819 897736811 325108270 852753462 904943989 768703090 569267544 822784010 696937180 188406281 360952433 138276573 524052671 827303885 629242316 642834909 631304442 732436137 338170688 469231175 319237713 302641312 829466357 687355613 765277764 467317776 398355234 651972664 765100338 248379052 711583745 370717277 182388641 547308680 457838925 582578085 986228323 955879865 147995733 220815571 247778304 624729258 819302296 618109925 948272939 337333514 807692838 469851277 969473819 369846316 918014506 569499134 741393805 953649587 542305589 136554523 743821993 610922245 340167882 272984816 619765124 435352012 509393547 884683205 506130726 219389864 970411291 170070400 140974332 493334841 948653758 468699675 709898539 680545149 838516469 712123687 776317535 467544546 769953928 879075887 439857563 945679435 484076583 941767138 389925133 109921146 836719046 557896799 366708332 760166846 640792445 607087832 545909594 412478219 575668874 721516323 236982738 198009640 592295896 241840545 115524122 569953789 402660087 217853694 817380441 982286487 581284366 976913072 947909027 158031557 556327758 898776008 790745763 428762621 983106079 510790281 578669231 208256292 815206536 644106945 275779749 316345210 803315195 533156726 575660559 351259033 658428451 667119518 242473683 522191250 600788018 434557422 372366773 986020511 260426381 184317090 277129281 668821696 206920380 589744012 880413105 794593736 844960073 594431199 656930189 102819662 305312164 941545026 710586855 903174463 850766149 727408223 361618778 223894180 637199970 221158810 257733145 220585276 770724622 168257063 349192620 853297043 125315247 716359820 591040992 429771544 517946434 751553538 755049745 506617326 423338117 711772524 313673313 246752344 999602797 530271097 864427051 688534492 280270361 146031241 672890996 287046232 996945328 303797817 912678687 518314265 662253685 262883913 571383197 181778670 885463997 377554556 572033508 550258352 709357578 553509014 300057763 402950445 455127448 186602190 284606181 654420813 804896787 830028204 609354394 500583088 900053208 997638001 791859631 349189034 447845136 362031248 256765573 159923699 824732421 526774378 834298715 172663083 899869436 156706879 640584129 545946307 282608945 596695005 136558901 745882982 408996027 674816072 866158194 722598090 581406752 312988327 539802537 741337018 319938131 794644325 915558443 891673436 905463557 675044757 287624141 722343228 484741377 237026504 254772635 537983056 624820532 852470259 163332512 596628636 264172079 199536026 825470823 279536396 964478480 867162039 805490283 911570786 596995754 570868390 369351837 602792479 354301642 490066269 299551298 728711846 313054448 307437760 782790905 772457711 672713984 409242111 145644249 601135048 190874524 855005541 341035618 234246108 995275050 569433747 163202389 540859717 889415511 790603411 300838620 808189672 345589093 531288636 801897480 197189626 314158943 225506227 523097024 902182315 166490322 599126788 765598397 866875389 171684636 504029190 306544540 254513600 340301858 136494834 608065552 864757964 394266682 262643172 350095105 638727962 576371430 862412237 752800160 323104082 253602689 787358592 194505613 567661574 892769800 112109189 298836017 164070175 935801280 475890643 391601713 251470072 586870267 996373931 571881760 160578357 962738437 481958467 506035609 268110023 700971422 509015503 960514190 117875286 127323896 334890204 539239441 254168935 680902082 260363930 138771201 208478396 460139648 205329267 307275872 198711307 341413692 998091881 906105019 756979490 375710111 268417337 138720166 178813889 859605939 151737186 158264901 269128243 954524840 493695959 762104526 488956614 681296661 467016604 103769346 218065761 558098371 362747705 874671390 118067925 509609555 682288885 280469980 673312528 966937119 461294588 290460330 323636461 775405759 574520391 404075871 951110868 571748179 494724115 275100656 239311494 704952912 934799088 518255784 874103936 451474970 845664733 610323936 561796403 780284540 581445006 484600230 526406399 527407145 980873229 558260390 367884352 789280638 412504592 696254853 826030571 749036768 130883270 334441209 260566664 505867294 357073464 463024057 282171736 705259315 454638284 321354543 432991696 658916663 416799026 419658809 790006204 328136764 928858542 501407891 819368072 578328403 871677836 809002283 947361170 777339787 872830908 681512109 147524498 176911578 999558631 236230808 748486618 980417602 584336526 322509258 195691733 406892399 110386680 851345391 539915073 746338435 400248683 873478083 770353003 907825752 803434617 957675783 889332955 103333796 804667241 220209704 288899655 679364020 980553550 683072150 333243733 837700586 993216070 469320185 189265596 329200990 967082615 470691628 952999962 590863256 834489641 703603812 343298595 218253378 184763369 107215783 646653024 177543714 424088689 772633604 524857840 186204417 585335876 843837132 469792067 426587384 747139586 151989557 411896525 671352630 809820961 479325498 875635778 575373317 684971596 608046002 821722075 445496846 715082518 717119359 452307732 193035340 482151437 419783939 716098079 271897547 475070116 759250581 411252881 244171865 621060880 786395674 966695525 373639628 231707978 746659768 901508342 959586318 674175077 805341996 414580402 947103593 457186825 809769084 589691478 235020160 789069442 253969413 549114611 344600282 248268440 171265827 689435697 833958632 783113619 388961854 408469155 712882108 781785491 170623101 549913230 372965022 467657699 680533130 968358085 216337314 582269662 652283408 696514519 545509990 385857128 214418732 376901368 797331371 925076811 129448379 712167941 608649360 344827508 650100538 110012365 364374436 156765201 463245298 698788046 826400885 332312000 691009326 979982500 942493607 540901858 947280876 583176110 808014135 947454593 699806350 779490630 712022644 254514212 119877165 686980214 765783474 313120714 658025995 676987599 586111745 723080858 274595462 841538346 113122492 301492518 233904253 462360974 756722864 405283507 259522798 761253791 860723098 210632961 257801995 864257165 603504955 177186883 379785990 703621551 679864998 306746522 740575012 282489487 262041911 963089608 998084558 697080616 859001502 188282641 130448516 886523484 156005062 218699325 532849036 717792916 873240865 914627250 545149642 931433124 435247274 762677729 691088723 732999955 884030883 399719819 890724594 456691124 193126069 271691989 895722637 260813478 272820457 800521346 203677302 499128213 864050036 129814011 769162128 114191856 113638740 176610219 423317069 837331046 223992684 135060423 408943539 900912373 386909174 595399548 862350836 562659454 182669045 133756420 546961126 959966903 439466460 572593764 392977777 540793762 519966001 749139754 299958067 858087429 459543710 687254921 435217404 237991667 394757595 513947068 855386457 935945579 467291831 305764140 323973684 742261000 888179632 568338750 671245536 861183214 967511339 823969044 366801980 443213025 972497690 408244706 601157771 437306676 149666507 981295835 190913498 211594262 128152053 448087390 351864288 638322177 697830527 489633218 969828185 237156713 321546599 191083923 331793981 844178814 442029013 488504288 514814997 358320861 797741762 811461996 394656956 649883940 396254229 246825058 931722854 579277527 849287976 308042317 143428235 267970144 870049215 181633750 527659565 888355876 150461768 590937829 345114450 984557609 642327203 689319995 593867704 904315399 368218040 402930610 146483575 608174070 766418024 465651351 480897158 837834312 765110008 625786212 756276015 967468651 694013516 437468552 296431308 478849983 850757289 212224996 741105520 881534266 319844701 171599863 583629280 676389247 577431645 652523809 753128896 582082701 680461386 373783333 793365216 211307255 597137649 245060932 498154834 833795074 756718486 662120236 391426532 810874417 433539884 892343740 980678142 285128742 404322543 744149179 675170831 165861931 855468815 123607647 956641384 976865389 832727049 383544056 768566613 702652032 805384356 863446559 735237654 494715574 475558835 545712552 182338115 632717964 735824837 792631371 102153930 986508285 869455463 348532616 646999544 522527425 953617866 404375548 251877576 843522156 814819032 375361374 762304960 718790823 994811422 109292755 213764430 409924539 532412859 323794254 978963685 575184539 501330485 902720363 473164138 324136957 896538980 988495682 897234875 135450999 503289770 382379028 310174927 117633288 311705025 486359203 546721477 180823260 231525780 812443386 489153960 241761136 143687270 343274934 839664947 168059055 182552861 581605427 374681718 550802612 817042352 876796095 820274757 431152452 439727768 624695398 692357825 422601762 153343950 723308436 879131889 858314203 700944457 530926140 755448563 138140294 928170542 709313726 576057394 574971551 186519428 428230095 941260776 104043871 745657294 344647288 476262577 228132762 729097846 979252883 288384199 169147972 423886778 777307381 315109697 236993032 221639561 929670108 736461427 622425691 922704490 318782996 215471636 624476776 837836748 745494374 315459750 152687749 178894304 141752269 113585864 558969972 504951910 805230130 710300827 477881946 394517429 685603145 791823346 475893081 797784181 711129179 613214765 486617832 861778417 306051722 933235192 832151359 104560010 935005348 299812057 761516750 432793006 825588472 860243009 916472035 214151042 903427567 969103145 939178780 667044381 838181571 702549199 776075544 388512554 381708466 364486136 732552247 211245161 653207575 688319554 920341584 894326697 629687473 961720374 223524083 904534338 710283847 687325110 260248519 340123967 871626536 978368880 277184002 276645877 838427618 245872614 334675018 625862557 587343337 333887689 395241903 372434930 304036036 950573616 969477881 122245308 433949387 955079349 925127313 607361074 900809719 741421542 468528448 625491069 233657351 127427077 957043616 364473790 803749727 393606865 843839823 231473381 752105942 888972876 330466518 843635408 533371806 659967466 839830799 845206170 756491766 907168340 272044204 110335032 532808353 896635660 877776787 872665862 540072465 754766062 618708679 462283736 920718933 726172351 795706778 288088858 641444524 476610540 543526328 647858497 453602313 514907003 561326257 987267904 805148317 989252517 346161733 719373393 887218403 566168634 492127488 853625589 201311607 485497965 696334734 157201779 847406240 671623769 844829788 945786673 968959195 615207309 716681583 211251792 405488018 872384272 175959754 745127139 410470808 669312132 474327765 614791806 985644280 897613923 322062109 479400680 224645412 820567177 177765461 278024477 447300175 669625955 851462025 660547636 485695783 499301830 130246954 104106991 826391908 924970962 586136538 314704113 985156374 291516312 639062613 804449367 407868927 659767855 116300268 988814268 913328338 704091554 498942856 653686762 353867444 928718524 141365058 533063640 146047295 369377034 809893609 317510740 203646930 875835170 544054410 522435853 722880987 813623200 335981493 592885129 839956707 347232923 472796572 575622650 381994044 420767532 485847612 471344006 596237559 379087401 926079845 342321950 916785821 391470361 610209076 340062184 821734520 638274193 589634529 791873680 226815680 659033671 555895618 144791492 932428828 199927103 464991689 703029012 570839412 522464085 811548107 476970403 149794485 729294632 390106490 328568213 453538107 268505613 273823884 715390445 663773485 891235279 819268005 475872617 518030477 178903154 265960283 632244642 190531656 624240361 714657015 717177645 208423352 223493580 309400709 943264963 780838452 585171079 727465867 485782613 398030874 267383489 985716752 370741453 644627344 439205176 914484148 928407105 393959204 426659028 156103617 884226975 601737386 801207359 297479414 500714261 766313648 388920085 709109444 694109853 678748830 274347082 816713700 982271704 417387225 460426491 908182262 556146737 248617098 852597827 136224700 766681345 517953148 700439349 613425813 175379399 499091088 337193067 174443531 744602804 538562840 387967095 309712071 901985866 882284678 282674599 735154272 775591286 352274342 581704690 858280493 588129621 100454695 563020530 186710138 586078214 785382075 602174360 748995194 702242312 414346212 307059794 204235682 106216010 356894938 150458838 243191955 912765005 433598803 173457614 133000538 397862986 318867465 330696848 760979436 431702504 389103596 514728667 698263310 573931785 479983987 187001126 181770952 831064012 617889418 605821519 945705522 577910758 702224704 629324257 557576125 730331836 553405189 148171779 688530190 966387298 848529314 643340957 791284447 732408443 972123244 995397014 179947178 715689344 679673614 722540072 618772797 507276411 552135301 928962045 571750702 162777165 202013247 722600193 576117526 493942359 847003918 733862474 984943710 925507226 760424988 746350665 270108520 493056973 985596205 908092016 806141232 357999404 338420178 522960397 828816946 915400117 489240470 786487120 954967916 331794794 913185424 264619615 852692254 489645119 394557264 715191673 856107381 886691568 845733507 449032418 800245938 712388998 868965309 266098602 361568020 447105748 242196440 217597393 196333416 601655049 722993500 420577120 769121872 457183564 520977709 273847817 486566982 279815905 313234049 685952635 960493592 620696740 943505840 119446898 303417539 731319124 435306282 817763077 727011044 213319258 580957622 223731937 562477930 877364581 275608411 550794092 554576121 353865350 517986645 188762642 288948297 103775556 150419486 932873401 433056913 466964082 337308099 155612440 469608964 998286206 592964753 523339403 810807043 632812127 466616565 939004378 868591866 388364447 300760838 780432613 856336785 969621992 433798301 919674898 127938162 116021793 234444255 785485339 221376201 649467436 783465510 176661319 459422584 986263196 665983124 377049998 956141801 442744207 275737483 667086560 469067725 218848704 286979700 180824953 247552045 655039980 396091497 551992491 781070936 197757524 669149800 422091870 272523335 427770131 601604089 284226639 890113689 273484320 117012613 906119218 239369980 799601347 709530481 505081993 276112875 251771818 784064555 827633463 643387828 631363643 813852989 951754441 841926842 991058314 861404033 338681940 917932117 211730559 688327955 666022345 975025356 586613254 436491516 477066099 607196126 989805739 829687426 529485207 861161876 904593698 679060691 475617494 751717225 733145236 442164475 981030478 651362077 700690406 894781753 617509038 925105640 732639119 845015928 410267687 644814368 156993092 336410700 916632124 255716734 797726673 522386003 602435232 959883170 210004441 485439822 671941677 698549718 533621424 993210372 572854431 533377029 420010432 220671305 578075234 303060326 883356735 103970737 790575028 866779035 405756161 861216213 854467849 268536504 869067038 166146121 550819126 634014050 497943907 412030199 815003333 769156158 981710517 128727866 699321039 358192242 951703830 228714616 811607809 688370011 763497542 686732596 946038375 242810244 418294582 176856388 404193871 431408921 558785513 487041842 460817520 136277193 752516251 957923047 851103239 377292378 449642237 311922829 175391560 341092123 415282875 296390884 715849211 610719665 646932720 593816534 368469452 869846779 664281733 300079552 153805803 876192653 252250892 311955541 277876934 224500767 468061554 661483979 482709426 741094276 478328172 875827945 789066248 662376204 820176177 517757520 640909069 195199951 915976492 761220001 706071179 960088591 499284712 879577600 219046039 796032358 317067702 188128935 704900978 605266400 575329661 810493061 113722216 184128145 309148234 454827310 173448806 728800615 934581096 755870872 685983839 545429893 761445917 299672053 103604545 254672434 720858953 814199630 650438578 241795395 343247586 274438561 472399374 827073663 670459742 184003673 801526794 326318167 710560950 833901570 887632620 193115172 913939739 113573094 550182932 973413608 211263333 229095509 445000614 810731827 284064770 789939417 161405757 870687868 653979754 794083216 303377897 348910768 770038658 348891204 603059068 516994136 568564674 107252562 457889047 786382474 800281720 327755246 502601985 380970555 763308391 586646742 494690502 443649501 967327469 131901297 922197413 983348105 455089792 798778587 110831306 213360320 850975511 248662821 957938434 221168523 661007516 702872646 314832912 939827012 543175932 475424706 533273792 163650506 970162496 903373321 918775234 603122293 895581654 761067691 618494743 131132661 536506737 947466339 972055282 899076515 524786959 427071568 834442223 663668774 159558581 134915435 160247682 593961497 803533330 281838804 673821189 339084949 521783591 526606979 524293538 378886290 166731259 194989528 683542578 882320368 234171666 512978877 404542141 605346766 755330315 647844553 927573920 756605827 664945302 208890214 137406790 916306562 325728175 990415869 258127418 281289046 103001633 258516965 376608769 735733613 874970181 678437285 410182217 973839619 288061878 632531622 915395433 669895653 191101146 472051600 560489400 127192987 673348345 154456161 982532213 308252555 634829168 537013539 393375202 446709296 726451393 395529481 651447134 101010909 910665723 426571521 476928969 131440875 716830188 578010599 146373160 691339703 149992231 737215439 536215862 217471612 462182532 767346153 378953657 581114359 293598178 973814165 544443440 725060648 203084205 505289224 999084227 447768067 869542111 445248003 352327065 209778342 420450448 366477252 296409728 206674922 657988121 469021159 814367754 846691150 888749325 810060160 119750038 676446343 481662834 539862827 655615350 631393382 193946368 397395984 933020732 614500373 947557050 576181366 796898974 652699081 632317535 386309910 175148673 327635445 914948583 458114929 128317198 211253793 914902909 333453414 466033336 241114538 848520190 815611130 284846747 263094310 768502581 396053806 219020280 486522640 377138562 259599927 345760801 403448705 203254079 404348789 431928604 972454227 514423480 453196718 720356080 557738434 432509654 213427501 198447830 703021609 771478374 999277680 364232936 392896165 970984461 362102302 643245378 710895883 579030141 800276969 300450293 831209626 464052922 610203474 929733136 359733849 717207208 649870283 614812777 352939216 531237367 592812226 832089976 732923940 753570805 893520998 171638958 780235015 483611028 842720780 184488916 280305014 586758092 382796793 366795997 551109425 516012174 471109705 731223365 785589219 392666064 885922444 689784185 157816492 957841667 690305219 681585594 594942919 674220919 392097640 538622099 358688679 846597477 963601335 125100744 633148367 142306947 158848732 951206666 103012281 356611294 533058809 201774430 783587723 208087191 870687924 499697984 434122936 354927976 704030519 411773098 578620091 182048203 342003468 976956376 511450107 440576103 255177835 937241377 843220973 844454132 997098535 473632088 936905117 921173638 418601747 604644399 654478140 449259498 586391043 302099532 712391185 651341313 485334572 123099287 753379093 717258383 163206112 170697631 844375695 456044730 421471686 215449211 756512874 730120263 646646836 832891494 340155788 531695401 987751141 496095663 593751240 596582365 893173160 566247150 758353939 205636460 385189899 513589524 454966199 223737535 724883096 720206462 740743936 901154874 735730893 326700683 978981947 278727184 494010374 200319003 597615304 925676723 988367380 209403395 195681437 435750199 588294609 470235411 554139289 937218704 916826742 151318431 659481112 870013743 802381844 988243539 944871015 337253468 153293340 116752625 715030132 698586726 344377849 130702832 268311744 775806571 151139592 757271244 972738965 483771513 460781700 902014671 467222765 468694770 661954951 263297948 799836756 399149674 298844831 452407239 234181942 226019723 459078923 663350877 705288581 615957399 444083443 253448841 828000022 348156437 198985219 283950829 404545432 303611625 314892862 825482187 771240186 126467231 361209184 998813999 308654111 775775887 421867542 982584690 728185895 389522810 549956932 532470700 965263602 311420158 850612612 307154825 894187569 315216065 120220012 184851142 376273656 764733026 865091717 732672500 136166336 270729246 599512402 381792476 128857243 982326345 628647138 520943196 333013463 340929727 414982262 100354507 312463388 620757119 902185162 517334501 406007931 377130315 174873342 395132207 209119294 396956198 291050225 928573198 493050932 794115886 505979297 779080849 105345079 537845581 666475901 332778662 758795987 969935688 117354521 982342259 166879916 716267991 182914918 100902956 886730834 644809930 748621042 754654270 372437697 296593832 987488432 564112134 171556419 917618825 323722286 839837146 864557245 346384543 808309385 642987996 538292055 605300739 887590530 574697675 431895207 877588698 698837526 108862180 786571144 914581429 135732331 719610793 511627158 677802022 121290293 448771516 624961481 605976536 420711363 990972084 618939276 134082133 283352792 904240721 693801971 676137881 216916079 444944038 115582943 964449007 435316199 799805430 994094517 279463376 912044614 468317530 620178384 923541036 715100262 761174104 155767637 918604171 529148018 158684318 185426236 447025297 960732311 442793101 765283125 267949132 905179205 243263143 403825758 892269560 324235403 593086712 204398840 981176662 576231319 595080334 608478184 523429834 151388133 269071864 148408754 197085993 384576601 802891289 317898092 802634253 848687752 286079452 736559350 680138506 561286910 789820917 771208430 771604989 799080520 738996635 217120705 428338750 576616997 255383499 395132166 425777366 749038122 589347583 764041905 772730856 646811243 235089190 221159781 738946623 916577278 427363130 554040631 834169174 377017007 188496436 964591965 707129250 993477859 639233642 999487414 120428394 994339564 146804232 328826310 841419111 472368398 312557060 206951265 105196692 444287535 108578594 516562694 968343156 367627799 216788530 302986770 888971987 454621493 427205121 656374321 137372747 737986279 608048878 896480961 361893611 980808797 657828451 983070213 379723503 839341143 745452870 274671412 903210082 479493078 784739007 935306537 149498498 453376542 883008378 157208904 379777247 840105316 537578869 804566068 646640100 656879489 644405650 213396016 328309844 829278194 515792421 755625021 434293307 394772439 761569451 902420147 236064040 972719342 684337428 197139825 257778241 213313332 184399055 437683193 173175675 575969196 686814853 275554700 550466147 909771814 631544497 307560017 628006947 754641302 576639735 884635674 648272555 463251431 227206076 632498655 219062330 989421778 615542799 724940414 310881900 571989196 834793427 816540057 360815765 590742764 720620484 959895976 119644005 942298207 353154990 967555502 290903089 995018684 517287648 616734019 592386003 278600062 522025284 622901432 932701627 456503068 900451331 584615064 212055752 619784823 892506935 935662610 877211414 602675387 181695400 716227277 856680722 887868410 618474560 108027807 239276821 312155500 897153774 841554737 375429396 770179582 955739442 255541143 832537847 894898956 830521504 872980911 934491738 278681994 417451692 661930879 856400428 840683178 682621594 449358403 535824201 745924285 369546993 634724362 608270080 969915632 909402919 392197917 309922648 805530165 717746457 136199158 589602441 666747943 444860545 827897640 646654229 439928794 164956061 590286021 727001214 751234557 477151250 340625082 434844233 413822250 563365165 764942238 180370408 333666922 245448869 529598656 904694845 858758686 741659723 889667739 937497059 123214463 928012106 155018329 219715939 225861818 387136423 570907863 478161403 975621919 786432758 313962826 534132932 169629297 429761131 692478066 909651394 910530556 466904810 525397952 703738207 141390796 303596532 907369937 715047200 759157020 232776886 932285891 450549232 170463928 953376434 528985745 435025954 382568714 231075020 880590336 375475177 528221494 746803408 769813874 477833021 684203757 112779032 863707833 825168932 936862335 480827464 160961165 140840725 784970338 847323950 835290730 444064461 656504233 838052975 194096805 282055800 140903164 117128005 329236902 139486625 651871715 360321139 163360214 884484917 575973653 850049812 984806389 690062529 178065857 479945203 247263045 902396053 791425246 195679665 689328849 606006192 609464587 108918452 188356329 383161031 118272612 110777965 110517348 852011749 485842788 795450739 766878374 176602329 127716160 302028213 817511499 454568347 916016761 630455258 545935904 610780792 985638208 511853200 203574984 283098586 616500800 454894824 622462156 770584628 546582525 449862687 904787729 167444210 348842125 636326074 176153637 992935905 876659054 820380172 161362156 616718454 395093808 334118286 801028410 307232314 856762034 222905108 730816643 781790995 597153085 517656127 879764876 431342476 602184429 594708611 499786026 416431559 231477693 608532652 516276667 547887549 304982632 441075057 709715068 206874737 297711875 590938465 715830676 151345965 860454570 748499887 353153242 678711937 866468071 262024231 399224989 635713918 322767479 385467579 871166382 713687855 470355914 444310762 187419781 898177470 921638685 593485885 514243047 437491226 590737091 454010918 684657022 997784288 937146005 756223288 175511148 500147713 371825619 263782362 687321835 836893375 295404357 619678409 484820681 843178443 778602049 274810313 525049011 217621948 697876331 365877554 263723637 154706716 663111909 605916352 914131767 871246915 712074222 551488936 330366060 343097645 545578920 913489358 828256342 163456554 966600384 352155207 124665197 383449717 932962739 488472780 335076606 689101022 643924763 918119023 663777023 911238054 681796027 286987811 672729792 192997073 148948522 479675335 541541743 865521849 927249004 565363454 180027434 389992165 124874769 989740773 443774715 893721913 340167167 141684056 865392155 249292606 945433749 936314886 562876946 753464803 756593741 706919512 549429901 833304984 183977238 498882203 486808588 777667579 240309723 420845985 701886141 834240723 412050127 874640449 961247625 312603128 928018114 682251140 595610361 931162813 583885612 641148841 199826745 935409198 370687298 449263918 456734789 468472920 330770499 403458133 859201615 494996214 742479644 202279873 297016569 875375687 224248841 815479014 194797686 752182145 981987973 666642192 692900060 451523035 815987584 982241164 186303439 581882871 138908327 714957414 629921913 495136605 627322342 177412360 102736574 224176970 314853834 878826948 656236910 670594604 947980776 550056490 874341320 308291611 571167020 255702851 434239327 646990599 872135051 858607545 387739813 630370527 187474741 915701632 330881837 656224777 186966548 329523117 409202369 893822230 359444969 878293880 488792949 652058032 358140162 377690396 203136069 918844850 751909171 839842024 229963475 251273596 818309459 250548158 204259046 966035324 740853989 875451697 788836092 861673116 101625039 846893333 227514760 879298889 881303037 511367774 881623477 556629265 953574690 156432936 600227529 839586546 632413816 463706146 951605826 564589774 941374487 679192841 169963333 201880027 846764720 147816837 560901172 109615927 923986849 865883557 273268528 731433873 364595824 140828136 773796798 335627944 650377675 285828691 719953042 749954965 818453902 894822550 888284236 299609445 933211057 190477045 215752188 735647186 344659671 471038714 735650531 876735261 243619111 545399590 302837605 235895085 535120160 140688222 457373550 821388397 535885090 133394480 559795580 116410791 496379299 983622908 825116257 951090884 650000144 714321817 563727110 304692859 334259436 173512583 308284940 323779946 588598518 889280901 807463251 942104249 713288613 902746112 967289931 859852304 788580613 128717794 397335954 270121525 627386022 745431823 178707529 736025272 553437886 297049884 127074618 368193843 160425897 833242529 200163953 148547354 635943889 671700688 456478261 971939756 620546968 234018614 135506466 453035769 241377530 606662275 643381915 754895044 545379164 913034102 725458827 109540223 823244587 594886559 158193901 101491404 147682830 596453280 782053475 211815491 665247686 534078528 318264850 907029598 368403306 503918770 361978465 473781492 188198054 696312770 522751285 477094025 782952476 656978672 760069408 757868407 896044638 630983506 912880164 850106070 183473982 356427039 804665152 927752798 606003989 358092964 734690635 642051757 833457213 862241003 443046419 369471716 147119709 143061726 210830438 537207973 699881438 878994036 207484117 832488030 778792065 230036061 289476233 160855286 247610408 163706554 424281620 559418835 703147092 509760558 186860040 556776893 978110968 809744684 111570627 511953024 782918217 812787160 800145202 497045707 360962308 733910500 809937044 145968464 882380040 364697568 859705588 690158914 848160777 330327933 376222705 875304871 118724335 832802657 584532539 218608542 431287039 591956396 675384329 886863997 535172459 181358542 418840489 470566980 610429595 807472787 520681057 560810220 798671943 957907241 908635110 245146832 423163652 456163627 679684758 315537229 198269950 353969812 667122232 878116285 615199797 837085378 498673555 396616286 489164169 892968223 753218682 674562925 883748145 910344054 801817728 346967063 992382596 834901797 230372231 918871841 620510715 986625258 691407222 675421060 954659584 882951072 339191502 370797004 309853146 926624574 126952564 319820972 535111190 270366446 975098638 856619156 429802584 692700072 311220515 274640508 629091030 172758045 954538128 558742475 930727959 116243352 908752949 297387763 341473440 757893258 640419506 850429384 971070274 696125485 264465736 629705647 208676151 996507643 815709410 316522683 128194293 628001664 121986338 889318131 224962831 150397996 761156866 340192212 948404685 884127167 745182577 718281816 106408707 131079610 412970006 998977533 568247958 411048868 388860390 544150716 528819381 777096777 342610881 177927546 311853809 554488434 866596335 694137073 683777714 987891576 487574442 771458294 453366152 309570700 677462332 162645966 763818412 447416932 956423810 941163400 282599916 181807254 719649176 966884411 924136034 601165754 564256412 354879331 330023129 934503698 999465703 645124573 631476659 925184253 168746892 563403659 715035274 316562613 818131203 495246349 277688255 936646716 482146973 999701526 868513174 915129783 864088262 342487303 770580838 352983162 760753259 982689309 527367952 144055147 655746423 383626059 133883058 282742096 609650262 557403958 374370360 436830885 715044012 573840779 676286171 884272980 509443875 766987856 371010338 535042324 684630673 258002899 866599994 281591032 455918817 164038235 365788302 193853181 170969553 250531730 512341131 189388213 788268676 756501096 254197891 513635963 347340718 389774695 745073629 974303755 309275164 149161703 643926969 216990838 194659890 403568120 973401058 368119796 934248580 150953372 694702030 483494641 190687815 330395301 357973268 381473020 602806103 497313942 661067203 242241210 969259318 480667821 797002906 325261785 546530063 120482339 598505793 472553055 691228825 914267588 810880335 100583797 385220462 530915091 150181418 553303902 310500597 260240334 961378782 811778534 131686608 851345307 768649270 955001982 360672989 700997642 129637868 457650496 339808676 898340155 643838561 511143955 603546577 948542226 935890415 205226247 273114386 738562323 187360468 901017452 536508103 181847836 462682688 212256024 722688330 421193340 580863906 980112709 302872945 384498471 376386566 104570147 745201388 514128529 856722900 498009017 693003003 591075812 228336199 392730483 262598200 631084435 109394112 506524257 880365011 415281872 363016467 576771167 483760467 629446700 615633033 791902056 139580719 958337065 145602925 754490813 854061051 253665863 781445212 800928940 390883897 689623778 692986992 937100811 915957123 546713043 271552036 139025721 815634388 915070551 373523588 630608653 923390336 967871958 384658465 662078204 539755114 907959877 948089629 345520248 127977175 443740584 787995104 829913980 717354031 104745511 272368789 989166414 183731750 112696249 987241953 619729246 402301323 258459612 596097963 420236988 544390207 114189624 964279115 129265936 797562369 291354686 583075837 815442931 467981398 590953258 112707072 501593178 914302936 870858969 104613650 292766669 786789175 588618749 466074658 590501726 877906981 391899583 587466191 579249161 273274749 318272667 413877774 457654814 189239875 918820151 701198571 701201042 563557827 960210036 995439562 869728101 116657749 902366774 682848484 935085970 412417979 201956725 431300822 378617580 922833916 441746087 597413063 542008000 979121092 409255184 475951501 958562961 558143458 476960971 315619880 111830494 642315307 180589609 448301208 169137095 706070639 572133072 286376789 893337958 880585971 331140726 259596398 815571293 490570486 439017903 333210073 220523312 624224913 823805755 568295151 112829608 472467807 537261703 533256808 796961777 648275287 805706070 828148732 329352541 725365512 995268340 458143213 986436809 655978160 636929403 569093723 883832988 949167480 137504318 735420695 331369550 830236599 693811701 380280389 663589318 146944253 665508653 568071434 457907053 606485294 474592879 617420119 725876824 594575042 708237857 732428629 547358512 776103254 650394025 559254102 756183988 113823644 684528509 450658517 632485381 878085217 774800524 205711930 593657370 898762017 333487017 112505512 835663921 740792963 346151482 421804711 107362732 480209795 905998412 840347234 409704232 426641014 590353988 974400088 469957716 647557878 468103666 727038437 521229669 713674698 349182387 612376049 769566983 347147093 677761213 162201368 733371569 483041398 370819945 313806035 662898014 613323526 130210799 776191649 641123561 856604796 305089124 106713623 365820323 650892677 979952315 138576221 973648886 835174992 914866313 537547935 188098572 268730622 561821587 913188102 496459616 391142458 114291319 834950578 936975112 452485093 939556543 208372819 953263923 453223642 721162362 798407358 926937560 518332311 257139998 614576303 687444078 891530535 415188329 507394242 583757566 943232365 423690129 746278358 770141386 600968955 979406455 229136007 884997562 201538087 305084575 300158290 812085699 344581440 171869027 460023011 784261559 585592191 931855317 439929363 958337373 476494858 414945262 592799590 365138608 650260463 773853900 900002065 819285944 631002274 120725096 475214640 216583633 672177705 982717003 186493115 368249720 806678854 550662686 801848769 293437384 847785208 783099202 491944783 731003005 908000891 195372427 408261864 993410320 465549228 264201582 841662758 687859144 182751531 888361800 559951463 637172346 482575040 853744462 245918744 900216866 665686547 439819121 406523194 590129285 275131904 790632992 183514285 178967258 969820241 539586167 941502820 247130204 624325526 274756743 390325206 365160002 601024735 351920136 224672446 234466208 560690053 645151087 816683518 628126716 136055566 877862970 132229406 645012496 139073682 622599465 443362502 773724936 853215562 542270373 541518367 425727605 841079693 727714752 439525902 757907232 653214378 334554513 656822028 178529107 947864740 374578990 770636412 560771828 443412359 874033447 786845996 876006516 664409906 282501477 246142137 990864641 628066216 406487581 231481148 290220500 762527147 343125955 766664863 879816020 802623956 491969723 818702739 249622754 313500784 985552667 381266348 953238683 489581804 719939037 443852099 983885810 645529081 404069405 179359603 444849317 808989893 481175176 795930023 230689239 441556683 737876740 686332514 282955515 536145523 789372374 604818726 953038446 178414068 653882798 348292153 776967801 271381049 913090717 388025193 662242007 295536058 904675974 906817426 647916378 845491502 675142417 581117819 179974722 647356605 462851609 143646780 301871393 162302677 210780083 585226838 494019637 765457560 259808676 172604480 749158947 364839139 484404138 237391196 404208322 106202848 280170218 736882459 429257148 189739876 413472424 286668340 121238408 359835085 558495008 813240700 857217620 725374734 855559294 474633025 165697342 959358408 155844898 614649136 540472377 603207360 349132895 700749076 608826732 173272601 196158320 535018676 597651214 805883133 112101723 376899665 631459668 690889311 398574794 620555412 449548056 851534164 832259778 279355094 628992287 876607667 758075046 251153787 314786629 657982738 153630464 316304355 773746173 145118778 335440378 541742479 632507725 436098303 324792081 607063712 990932591 421949667 934131479 156615300 808241506 592127905 226748391 917653643 505585550 951508402 853617936 841511511 266937080 334320384 972947571 931381582 484255102 244427909 294192863 414760063 347662847 362793910 574421366 159110046 755471299 792997984 497753995 856189359 641381026 567581280 525095990 598869561 148639227 103343781 467710540 299062341 686206476 438894057 815793594 410813677 634371957 440213080 849842107 955019749 926126792 184693134 668075142 481874490 833973102 185235512 232394562 732102799 284833829 584143565 872992630 611558366 413139711 250536673 431736740 803101973 886300719 292798859 795821889 924317102 901785777 614067603 142397954 539214101 806982624 720028004 311319048 415873769 732603415 378342906 877798492 442814382 929258775 783793618 662669525 543988369 631166436 383026559 564391316 339171011 291552986 411511017 419885711 297042048 206933564 731892914 835585948 852645512 826038945 811655546 618533493 695760252 509399461 424113866 717543276 448738813 564896084 435247101 330805257 524799576 900429688 184480961 111892153 150050368 472140066 836931509 490906910 652550541 766971381 678405906 289122132 819754468 208537631 556288693 151313381 892388550 933706435 261962605 637937436 522661886 703783663 196968556 786977828 355338717 649594159 550214026 143660574 662353324 518680734 503571577 159227056 793030592 757693548 495074906 661982139 862645440 252327089 430131079 891054093 408449715 411043645 515764007 166527280 703233171 587389775 118189314 480765457 974870877 227369480 324527074 449577827 690698802 543717433 389359566 182908229 718303696 715445723 431771604 668193125 671445766 738628591 653178184 360350113 532973205 609477535 647925759 612314033 871677284 606177815 279042498 822741005 675128090 308399063 296841397 814435422 732350422 745341197 729064243 798046481 321599235 930713636 586968895 746231754 891021041 148197475 944825756 967928727 393233791 215048825 686090850 861256548 690730847 249031431 814105892 498738743 507019403 322694250 450381523 957196211 810114545 132760057 705690860 629574227 267538108 835264427 247964291 177884046 779930590 218150052 261950018 953717061 120477172 280248745 175960706 642405862 710715692 473754721 913430365 564798654 272279120 444883753 998959320 800070108 826736414 380336468 435551275 644440310 640444428 183147090 587362765 447342785 301290151 648379449 547053746 846792997 929229958 449798075 197292711 425657207 917477892 139560591 804356721 198465272 612232581 919534620 651781886 156700205 167398319 465503685 386048018 775643129 514147403 218212769 400833094 197077532 601819390 314342488 481328725 686130185 338386469 567814065 206555727 111554797 649512215 132996246 391099696 375051202 195418549 952624039 972701234 245495735 871052773 176069782 240948405 902050734 473832610 330517103 461122016 926739647 314557890 827382577 329617632 498836024 373506680 308178604 986135718 278896716 578361535 694093006 113838236 723353044 960062040 470509717 782623432 613954309 729624756 300200840 623770710 624128075 204474257 424732692 953414678 184072618 914208499 183878514 698115113 168615526 944690320 412733233 208742536 509786272 436738748 817305077 937063713 414736007 941332052 912255496 588994520 756703057 708874139 679487218 627885924 423859136 996210234 975371506 511361140 451228283 638836825 135144532 428544567 908465038 195115790 127173499 818664831 640301855 981327676 528488034 418965573 871175283 329384688 843740497 201694686 680571815 282803599 498472168 230728993 890126406 635149784 224064038 548282820 812589549 850477767 616562088 298973963 243386811 677334505 870078618 163016312 787354155 413070797 250143145 352068268 957504171 611765151 271529605 445446243 906416901 744258165 132034623 978806028 354487018 361097086 123819258 592686267 731183835 699420940 768649810 231224015 898077143 723936530 810542666 848953024 383047399 611454147 298862246 175280044 493413608 719049311 456944998 502810173 340428896 481446516 129641371 985867709 180203080 709428250 299030854 799058642 791171004 729058283 858383307 767443831 907146856 905533844 464320087 210780850 461110917 440743881 383562709 593156356 378193293 762078416 786140180 636580182 862048264 941388095 877809467 320565196 612191082 979169084 801816022 609378109 417743989 760597391 205498318 201712809 595576258 883487168 291738943 393632907 690762500 947787236 141811594 569087917 807097210 831296784 217994277 992321438 837970252 639881058 242734348 978564023 245585874 441811495 937659298 682755565 108962173 771860964 166335084 429315945 580068463 425840728 428860826 221280502 522019089 497886568 302777581 519054794 257253053 740078044 888513417 297422220 593007381 814424596 984546295 130280507 320888910 356821985 788297744 362028816 763591844 708105773 898132028 799955586 728711376 395083221 755809827 796975201 646158169 863576387 394992746 374756900 707626467 979983363 891179218 130207525 124083643 440110592 227099061 220986711 542931642 453424572 157791883 813431439 488598316 790933133 157906023 915737093 753395369 546739581 405464815 512772403 270324453 566370007 599018994 262821088 157762820 987779095 232510987 843086765 828938751 958698537 369847560 691418974 640586127 119852336 615993152 592610414 376421455 180645221 164963107 722783782 642505474 717188110 757747327 573916590 533014703 816097718 357198666 482136585 374992759 698769414 638090314 415340330 706524409 257333496 409040883 241246112 204410657 873113785 525018520 793540132 829244942 501988596 609561071 572752827 891657597 252472663 920996905 320628071 208360820 585886565 956829931 535258643 939031220 617348199 761019424 268686313 886874873 291822393 326924367 128102861 279859704 216774026 527417161 576500064 338719982 435036683 634400324 188126092 636544250 843317913 602451031 741527793 588114931 778394293 312619600 277757563 656716959 605105765 663755539 873138614 952062196 109822965 913367599 962295389 101062200 541290152 386155499 350769834 942168291 272810672 865273841 557203263 234391361 268184300 442256607 287927089 174230521 255174942 608468947 860902189 532023503 224815372 429321698 153234555 579984536 210602216 527791447 217703030 478852128 238523961 935646051 302117827 522161312 884421447 315973190 900259497 828736773 550236685 929752245 665167306 106799071 444376583 726446012 149962333 826259409 549364710 416030352 440451052 137817878 777214632 814480382 461999287 558933294 369822379 327135312 453711346 271004278 972190047 444517920 689922910 322277142 431865118 692228066 794843528 199117492 743915615 148567800 859592352 317871730 268276724 468426646 970064790 802900118 282278113 564681761 440433922 598454246 542590068 434641547 515246966 270245067 531781964 942601038 438096278 420833398 648869768 972668712 654687608 548038824 686281935 257611597 721099376 420454206 833513784 924299632 965997290 752671246 700443383 712866427 143641444 637771470 309430600 658760604 905397382 657611907 728150574 458713253 809592939 922782289 808575175 167281649 610901286 961911508 952249082 621585453 252860648 875695206 921068646 690589794 409001659 540552542 720947579 594877172 636357198 257418387 782387350 951137600 718896572 463176059 877674054 853937706 515621324 991491242 492945467 860228422 717993838 688953523 150542603 179758665 773075938 996301517 696156337 181465816 873285396 914558702 106445073 345201934 262535117 288562031 304877839 348606605 971408489 575221383 885103090 874399318 593209223 673260299 897222129 253847274 846836139 200864682 465866315 247932569 906913829 661449208 138684345 322321490 249167461 838863967 450617838 164496739 372671521 203927638 775531577 442019489 613758819 270321659 698395192 957767800 180885007 693502025 370501237 449736953 801059016 972959662 850276170 587595388 552229867 821767151 477279789 352778439 513724788 779378020 449260059 415300375 610018299 159596847 763770606 600164874 688854429 886614417 930878653 499307326 348935357 470777812 913816255 830043430 856518519 972608853 595026604 808493075 669156766 661716006 141300373 699916265 175012645 425286794 262430829 859634633 276121029 998037120 659436329 706749117 972525751 944271110 399217348 966255041 837151463 546719779 757020449 143920188 517937729 465925686 412512640 348256330 469488938 867316670 667572718 936041875 404374682 369541206 108503000 299409099 161866738 727535172 657475424 872349143 269383143 878910978 910551468 493332296 868188494 861994508 997654606 723035519 455133109 407613741 834886965 637575328 777996126 470963354 646593696 142320249 464663679 119467875 182029292 829648529 346624205 860596977 467328277 517669335 353248735 927259480 581466118 513346114 690508750 962664721 551111687 496450612 480638412 713298483 417987355 509787397 403981771 490441421 909559006 924021879 515626339 628709204 681421198 902492615 515284863 147974876 888321841 264023053 225632472 540038314 419874456 671077410 401656991 380623884 809279124 145940361 307549988 273974325 742582793 780091346 270561105 832826696 554428718 578006367 359074308 717093278 823856651 823298803 640300481 709058953 261290083 618031795 255070916 174684175 404373780 688840245 450351610 562576219 299232942 159260736 618761379 390935310 829968034 175940013 578978834 933988942 354180205 397102235 822115385 439262946 357760073 763279202 312751072 396440917 950865836 635032417 599846105 328833340 124690537 146701990 843004048 646038254 147129482 785005836 427543048 748879535 175227568 252132944 867939377 427295305 435464856 745008037 271324522 521146827 607100212 456776542 528684523 502431453 298092580 665893962 391319529 622556457 317413055 183909999 592308732 583676861 815052028 262880303 543114704 169278467 558591754 989968768 125011774 273044069 814965658 125201194 337765885 658374316 837191303 122011067 830353025 500239927 404079908 538828358 730653558 599719299 802523852 741697464 857055435 929308100 482164434 591921693 339063343 421168569 715598057 942918012 529586315 580485348 611940352 762309529 177898039 652180234 652737166 717871969 164872845 209522295 701350645 290235728 439446516 613759661 630815011 655915413 632228999 311432112 917671308 613773918 986303346 299126025 988596195 744952947 291334433 740662808 138941125 648480411 939981699 108122138 355133094 819454596 149972867 868868657 231018905 913178289 804987471 519741158 916775992 921797614 719153965 181139322 613627625 859705682 635190374 290804337 103179785 611143904 200070211 252486546 298490090 506242542 764828781 368417765 623645021 668676647 349613806 903778315 685047228 588710783 780438376 449286705 535217081 698937842 998639483 182195861 287723409 335843495 990023211 137560301 329114142 119295292 781719925 201680571 205221939 252825116 236056462 753912337 583535507 411346336 397791753 690878674 621783558 361638121 459360852 995257736 554217004 670378656 698199775 361442805 833093338 197989325 132438475 305642349 121348777 456963807 600104568 677293212 486741372 267129714 688050409 990457502 878361341 470081638 841864508 968996984 305063876 524071406 643718609 714235587 125441386 847574755 639075716 745628055 297790534 249538308 298771043 984132350 889183558 637946361 710331947 797435543 385084347 307511324 514972770 515914506 284797605 378393810 978361186 462218246 751342731 130691532 239987597 472036868 681812566 528295481 729596002 366308161 884393662 851141025 207266171 655132394 468031795 382384849 570031546 903567323 986086108 425655658 634608035 898604779 953940297 441590367 626202851 289821276 352390823 939746929 374165388 213209715 975653945 592141142 363737545 259864140 482000704 683889306 326275961 103019531 177294320 897659922 542845615 791897921 260194979 879442226 358823735 453050346 499113368 406417670 121086305 144626391 377926289 693923718 519601288 608880544 917693977 969786252 660901407 826413555 189213663 357602441 723661605 309928627 261196878 281296007 621188405 655837228 228361790 837375556 548599055 324637288 210202636 636442259 341877513 244493580 132153108 224045891 118445334 767306906 685785693 728783314 638492216 860379605 991564991 846326484 706941359 710100099 104923112 323383513 753640815 204987532 790423798 400259874 948835996 943871769 241107525 331430964 957504968 900044825 542484509 436096603 726548264 661156663 602087156 111036673 887388389 566158278 942650795 826898653 739073336 209442663 586008761 677556606 605571772 470090251 134118443 744389095 926128455 415171360 421561854 167848004 206247676 885973098 452845402 672250516 606469677 783732277 275798797 893906973 865530130 750365767 672464763 261403162 591785618 612923156 623416738 877716835 534191257 784654075 336234911 146430131 904775936 764777576 777699137 589335055 595181847 812093322 785614200 460908647 741919023 846374224 922646120 536333243 333592435 689114863 144900204 479643889 183215183 884441362 151651037 927943560 300723232 696270429 627319385 114429655 481954741 517682741 616797103 511404438 883210593 546995091 463049975 806978833 835793773 126884656 413635561 547341193 151423367 313719920 115489116 730899232 308840911 118100247 607475497 999299156 537756363 460160359 526005013 235045162 552634352 585350136 402308231 549929808 157572415 705622608 512874023 591040410 472450307 180855931 798730133 454847879 216253526 373078583 999899864 907803992 712389859 458681652 741692259 713243042 211460277 726871330 590322001 189393109 257681186 973402144 584981187 678474530 187455687 917919170 196811414 541456177 980958436 236105056 197974114 144572037 895383387 877015901 888859459 329154290 291662378 179875460 161974444 888855021 288715539 223363972 226140114 449626112 899677628 995882759 394247271 467911477 413218479 857232864 772855785 699500399 104634852 903963270 902914306 485830621 345012839 587578894 649248453 872835546 907011331 952567236 402386236 846679240 922379518 626011526 204073259 744155457 544204978 851820993 428080671 946969138 475242801 861366783 281592615 186654997 970645143 230598809 498699749 297596921 484630865 752175872 162680935 391035974 768060984 750592441 875329842 758123324 551539525 376103804 166363179 980845029 515395762 286502364 301647505 743447898 375846821 911584932 839481042 971212725 642837939 238467368 120658852 579565902 279814184 608994062 557186627 470229272 877901540 384143851 421135014 770265067 366883274 757512817 645656779 163343548 945434343 452663438 831456900 181871721 902755164 470249787 334379851 345562782 691979199 649679752 870063115 606646565 714720082 982828174 580984761 494078219 887504167 844826131 390372486 681249783 403912124 301627926 470249798 620149516 704619294 742963272 466427026 516014624 588112503 944934715 470649599 362327514 209521782 139270629 249041093 655064655 746989891 162738982 963873876 210524631 118413424 316934474 233097980 212653842 959394105 763510838 606338460 938559550 500704808 616390872 699097059 684421042 886451478 569073413 640876780 945908762 892089352 962462350 647416401 900658531 160663000 690798407 476445440 839462542 698575258 366324880 555542729 247018829 762106060 784023784 590563036 505519255 176090819 251468974 110804635 356889799 988616319 852662323 317205995 830788481 161646399 727525606 180591952 112284571 763032666 463477637 143159767 302101779 929822003 786633700 692423263 214305760 531200718 577674226 109198764 899732237 539251164 226637444 252140009 667019453 185321522 616772044 734088079 322340018 711947572 545799199 293501119 926935558 181199383 686624231 263683423 342644212 145069349 652474859 124210085 274695080 591176670 372474745 943950472 383666303 788860953 656569129 148927988 425161091 286079005 652930372 591984616 757983715 146043042 399835808 519233695 926556024 802951057 147457133 211623871 993765682 956791851 780428426 765794263 613833365 600947018 623431465 648815512 112792242 939848076 609183891 480936255 810374282 740500654 378127042 991697303 460812082 884065625 710682482 801498883 600680857 327818559 480302888 282957832 177903906 467507724 996196645 919870584 252531115 982884677 397520665 115211434 803438130 979839047 442761203 456367803 666277900 973944972 593175187 198861389 957981748 965410458 508653423 856435960 865657105 721128947 980861609 205983318 698223089 190703089 537412811 961577352 612525526 832002959 746528936 822396693 100456073 318648811 987910724 318866394 235124275 278324120 890410083 605265700 908657554 244646587 596945664 371245364 122773411 937908484 545952389 983734906 687948671 686031492 907245891 991481308 200654194 802163553 440658268 409002768 605533592 887325768 526600030 167929766 511595342 193158107 773758170 940086154 760823912 293393756 696730344 294293816 858853447 946266100 638550066 893289651 561051837 497775071 564427157 237819626 999950922 600068661 339835500 481411854 624777677 157897901 297127563 411983655 492058598 648957991 207121980 570530893 606508050 868954668 965625732 925656660 480654977 610319488 233219564 613252635 219126272 847376488 477562178 655502324 310526599 673370471 364736347 160994511 491066289 287493271 410091242 240770329 214310547 182213459 329909354 504228759 841488873 994554596 522896943 232681698 701701623 652855786 878146620 497514775 556189584 373611774 262072490 246978320 273314479 270141414 765697364 443302115 621552569 580944472 129000062 608862956 490100261 507263420 829718186 256210658 433638306 713280671 472418174 119596512 490265272 446476447 394645731 469049047 924039122 893389551 382541195 504042759 907277585 615382702 152495887 537578923 602768969 155967852 746099945 656494922 207741318 727780985 835531634 605590851 386886186 831657359 446272691 169552867 731074247 536562875 196231529 657274759 580113170 276352730 316298297 977846441 102041531 347688689 218660429 939485682 779263623 327491005 430069490 516776603 748014308 748892045 420941535 186468756 554234466 502706354 579907335 258338226 934734526 316373429 144160141 925814084 885115699 811550771 613546933 520366035 345099252 689707243 845789851 344979688 185367267 972556445 506202718 214676249 234427761 801430034 647427333 620127810 338762905 594219393 798977946 621572335 403069943 803773085 702643081 250845627 514351043 725853163 709333602 797661856 493830091 350424583 574402893 352662103 886728470 474820799 741428001 104470043 255468856 471964633 551956994 902639530 627034789 731627638 899709260 857386690 299484006 167779804 573965123 711483844 220302852 719031317 560691664 894453611 998044862 822599425 785886888 317746834 911326723 523506936 699686029 506038143 168932001 222466303 118276416 295749152 536638560 919786786 365398542 148960399 943727968 939026000 332439029 200759930 547931961 115568117 496612655 134822821 195389100 882936566 120194782 308137746 160041207 786298333 530553861 380576007 279171485 995255477 570601659 380527658 905075453 654240575 672968452 769183673 740210655 147536333 639230431 241385169 593065507 955472744 805450491 474671665 330836891 975101752 252203957 913026952 845130609 128011493 287882359 352173286 400641770 210771714 624075211 817637429 546763211 154299406 950328379 930112219 907383084 773926233 690590696 332005023 339943933 522169387 147262703 260711321 115673424 502096242 228578989 556378800 467336340 372924994 305234724 771682879 314817419 606471793 862753627 531245737 491425821 156037974 381188591 433348021 420464707 863657596 909692747 391978637 328495669 713580922 915145376 166486737 716579755 395649805 339325246 352792890 141083342 766899573 960715433 216091067 837319797 619664098 843676673 531250875 129813593 272634990 286211314 599789502 552365792 655898497 322719246 887841974 582945284 958583630 768788421 736488096 455115892 456299285 887593547 623231167 730164558 609359532 656730076 606714031 605042194 836088960 439848832 935844725 751728638 599372365 151253279 672160972 539876335 580508389 632252123 539568765 509363591 296321513 289176860 347009357 585984481 370171792 478220699 254599365 467229051 323003913 416620290 342463528 661740197 994365600 150485551 440896851 752000418 525395114 906403145 680032367 949883195 696782647 645756448 453455499 362843016 854582706 819728296 963596509 124754712 287499266 292616430 857099384 291596722 385752305 504354274 148606017 246174875 245805793 780330709 470920034 846647562 589160774 626009701 552907309 332396727 127217814 312629970 690536292 247660516 717661593 802369906 147515757 775952900 851606629 325470783 722891554 330293816 873166659 678987977 976793434 582731988 955829890 118953219 114109985 420613922 741690662 340084501 163824222 147923917 728665824 377078954 661966598 909934728 729570335 600676678 260960072 828369196 307447491 591270847 931476253 254454510 925761125 241452755 603231978 585837324 557232327 685729942 410999246 178884540 493278687 762387117 368369312 383832492 331130194 612679861 316522017 460017137 690027968 535440494 530214286 952186234 313775271 997965475 401048463 130223843 728599891 146424932 868609224 108592407 292829213 982081234 271621903 319892341 982157608 784479013 487996075 914768543 517816932 980578315 353337872 297820534 391091669 303081527 313664281 979428376 921351269 679688654 585768813 783864152 445413596 958765792 812826283 662819659 377793887 990156094 238555562 162831614 789303657 932667724 978390174 686847992 750049723 436286278 375678529 667587749 619284394 535455068 958430772 197853023 321451516 644991772 520383383 549424315 738925117 502250793 989187888 815805141 557617963 182795435 190840589 339957245 844436672 870310799 304654565 795755096 919158369 340602462 255104941 204933753 140537826 487156373 232857152 740786280 329119432 667131378 980936006 829188274 419964684 329201087 505725253 646315211 101719791 566261895 783956533 325819477 448122876 272714132 986993954 114130502 726839498 509887575 959048958 665235330 456928035 871924182 630088673 698440569 787107342 871150101 369517944 236365193 349654751 904003066 834103012 321826809 812844834 976229285 856266479 906448622 255441728 767885804 251061676 111971343 100512326 525785228 422585195 129351135 106224784 752098133 213051269 818145817 500364976 244225228 255743978 104494464 860229405 630530546 869041500 465131180 697007803 940455540 314852154 120383081 738480861 757337639 132553548 278175264 792065733 825148699 864028957 452384690 986198365 290010286 622111434 875916137 476880536 679310367 341812415 175389926 830636021 683305593 498863945 307883998 570523631 825977235 935412400 988550180 225681189 872013142 953366642 534999769 723702247 542270336 545552847 299522015 330513572 481888645 768519503 220909499 522815390 456756102 622996625 637177078 910878360 627522459 717062850 881974621 202047994 806137602 538848157 578987721 740024149 481939984 335896781 542256185 256394980 241926965 525978536 277395297 317705801 915582682 594916200 300115973 669539876 477466743 218589705 359504056 502577058 775749002 613695655 170580629 555814487 779147956 212424464 220462254 148455019 672046355 288904671 473437721 663159664 845174696 262412794 684746532 402506870 389233067 866338560 891420593 690326773 138161040 535433845 120132788 839208071 993172994 464482331 834479368 996882339 512786286 244001289 544121732 490931763 238317701 806953879 459453233 978982036 129255055 713321212 578077468 705803458 128166483 990425999 853678493 683528809 868474349 237853424 944234530 925600510 437191159 675165401 818527780 862486906 658999195 342273585 633013146 254719033 796629774 360942437 576108754 229883992 585062533 486511985 616393536 280913652 390918102 473333717 707476973 546480445 669217833 169123955 465012729 952458818 213782976 402314253 231750557 982194906 221319106 464594000 888871139 950627360 618899070 489489565 579892398 264742015 318218765 978065918 674914262 350068749 796380004 348736486 418468653 653248585 624668653 576640531 469616781 685502498 706952412 947392341 269893233 493685212 534443691 818384576 354598821 204112392 154007027 530859877 367933642 332154045 771598854 881962208 601107784 653455820 656044056 575682963 370683773 604187425 406164288 417960620 537722414 273005901 350537732 366924479 623857908 973298957 388456542 106835368 185768576 676846816 225209078 607742139 789622586 358542250 764108197 936139233 854164052 646593867 862587765 695343741 789485168 565283275 352650247 557677245 229575510 699749141 631989939 865414020 864256262 243572409 878070966 611683916 134632074 678975045 771721884 582210780 958373324 468684824 859520733 326659315 269444039 793127044 282295468 104707147 806788464 957755808 811228945 512238589 298478994 496858917 668381619 536256154 917158020 501854646 656448680 579665971 368429785 531433159 911629001 237323656 368730966 418660301 911950241 559298464 845958749 532101272 828374814 218481825 699439830 772785875 820471250 806450469 238077538 866949130 565103859 832744638 275526263 810047158 621592476 867204348 224325848 365753226 302161312 975519878 870537317 797345248 347354530 466305534 177880230 817638564 315166665 412417016 268981125 802337393 471677658 401487627 177170475 632039196 570492715 409481052 335849933 179851406 781115583 626648448 175562847 326825603 164577507 963206304 850998494 603856493 850484861 369341247 798069069 433748809 367653370 811889198 223175042 838202192 769677027 931451964 274426565 127550408 823978332 634160052 535541765 596737442 296698712 469802517 911734227 888968340 444140952 508941999 901704614 515337156 945496274 835596866 905098072 899579890 120012586 864808746 382143412 399268220 969437199 565242836 971196964 437669007 534205536 172310081 390550496 796439869 170283344 688824363 904093107 239985642 752115866 344144680 460459305 111345640 729438857 812147789 236573469 166742802 319085820 674285223 531463165 862624665 860529449 904466332 893204950 302488203 290676898 402268770 787898517 138352205 575645293 525619818 810646839 818606255 466736900 192947359 638286531 187044624 194195700 508968930 621396743 723930354 319213660 140475145 367681123 509379837 536031327 256225454 792913714 753203347 704135602 394227203 345835200 664003247 115993173 383056072 718644137 911657457 152816579 687042177 950298581 579663008 968868298 203347055 339597863 998132759 722612292 801566857 886732655 234117336 700588348 162003469 357199318 632193449 499486611 809241864 692719633 371522620 286431919 570321700 378954216 352551082 964258024 919296162 384321975 628738428 190034637 710525624 823729730 569991507 941427961 927488707 356950085 112788110 307722167 417275389 912364371 695573118 684346923 453994429 210318406 108972972 774685359 476105930 193369134 828163492 331067699 322820054 510517655 359778353 458469298 501138262 694855096 533627356 865014492 331381525 292310948 802655096 468563112 697984017 266245075 496656472 883695793 761758189 463583604 573542041 428463985 512180003 881177986 689565776 910360682 197847160 173535270 436993737 334795265 820171195 533011020 821248581 773591478 234912062 501117443 360625524 311402542 183803262 387671556 867554386 223803446 959501013 814458504 464239163 143461900 413985859 677691357 818730614 281475670 530087172 251598927 442590750 979952024 167009557 683047701 761225411 710322127 297823916 733743372 544968319 761307817 269710003 490952191 118447330 825219395 316452637 712827071 644666800 200386268 526997816 425811018 690387044 723272622 665174464 475549241 493018169 274243822 772978961 684558257 851953299 328808405 724362587 850283714 545098717 149419005 884304565 470963648 958835740 576875012 897058857 431410118 790453554 139783309 182893644 370207583 700499307 817829923 796771362 789484519 813611529 947373150 339267552 725316409 368294716 741982672 843918524 251469673 894756115 965306601 819974690 842611563 862643201 716910966 600652616 896736306 535080927 475721937 488353680 300308275 801099642 796283301 780018632 389086742 451376195 800364164 825320865 364531986 613789744 449590893 871203030 637553706 209526645 326862688 132323831 359247483 814469814 570197111 230025065 982918798 531052302 760539114 741127280 682124813 939861736 464133953 307913290 339056606 862476040 431300892 221601008 623628606 164717312 518141171 664124208 359007592 313132055 367476351 330659647 287113821 506543077 663050661 972473768 978901524 754131442 905404928 326076735 234740090 523287655 599835381 199158952 845278720 510033440 432643053 325895670 254610001 856605037 548771112 550120211 918777416 748159181 946319984 707922827 496452015 211597369 918722800 161024048 942923746 297723215 129509280 451680739 146439198 710634813 833142287 522125889 112134917 668840120 750234569 547252982 945780513 334887044 107688857 439808854 183281788 605537668 803628951 307469667 420688579 631874538 784383243 307187917 675956669 449113753 497560219 933111053 531347920 780741488 139293553 970216788 216916436 522562269 777626089 330615448 927313644 759233620 581329386 581745742 621563450 459799836 529616086 982899265 917313965 328242751 294221101 375666439 812978834 951259977 845405815 726932632 789411769 698481042 905411972 309544715 431636203 208630087 842653321 227931393 151038797 109696557 270416336 392652347 914000856 264112263 526596333 480080643 448496673 952689346 872949502 928404426 517579820 350753186 770701862 701087227 966981286 600117989 790046052 663066467 354504938 828115961 947195551 425916086 984897662 364289590 280010818 626478108 558431266 400897525 953964188 867257748 301751305 893765894 579748474 717321054 713261728 359707125 476114803 974670455 476674288 140120419 249911389 952804027 756136728 610338773 300211028 381154624 356915170 645693790 676498799 108682664 561212072 152251466 923909824 787178252 110366182 627318754 654571574 396895138 113388430 753761327 239206487 467402763 260584027 351752203 923512448 435303650 466271593 642896711 790546820 312953000 640279077 294641055 361365999 301767565 273645806 600778049 880155920 268536182 696187421 261581958 533201175 497989803 166707262 516663075 319519672 899340593 741940584 895997598 952659798 354897642 858552793 192489041 494352884 616274211 669438328 299064352 193697387 713917304 662165900 971256505 929225069 178040107 375659805 189090222 728224029 159286261 688701327 137749817 272958225 844540202 598840447 967165011 284621793 367216302 521395623 274901273 737564058 743586465 995060096 705268553 823748177 990012605 169011741 253188223 473097824 659537058 218325616 356476527 935288746 332099019 151783101 933016308 857593707 977075516 514912253 300352031 726531669 738332989 289584409 905050679 934159254 793523024 943318333 431946948 146439084 482582278 596879173 215264870 153858664 315758294 846099982 771069760 459251002 479701478 352735919 992546402 316084112 675238497 737035680 235301266 219082223 617743291 189854394 830678633 715111843 710766956 776240119 137789478 684938937 794007151 788790995 763217219 117071519 235158484 725016734 851249418 481817350 934760679 562035296 175526152 423320798 763832213 791096464 278896720 397443051 250793099 346556730 500423068 764180184 844145662 795542926 745322900 386831507 148161326 343596795 586167490 116304796 474092582 886288582 973177260 274632651 479670284 984169952 998689192 830986283 583825153 141326378 552229084 388103525 202568306 861426295 281070606 554317883 424387130 610006127 630874245 600335458 273211240 466275610 753780962 492013153 594900633 181679658 969555761 719755719 702965720 517526562 432134513 640000969 609909192 336002475 766381010 206832195 711343241 236236906 620088095 118660743 160672890 489926241 972228828 949173597 305962724 435569163 882130596 756579753 660428764 159457245 639799704 117507199 991183837 660379007 864955913 135518480 353778429 227531584 284144398 503890048 630026949 545751589 453916101 671847328 739926981 954112669 633650421 570017727 293895442 758505029 315866372 885155052 656562899 211941348 265997668 346189835 377520510 824957575 320918781 353907451 637770988 582851952 425815831 892450987 535576845 439567936 396429515 356118177 463952237 427821653 174209192 540434261 173122444 301237808 598736811 856737929 126858647 498295257 771818581 614606001 573475291 717207893 292427062 517859358 193735135 610438851 613135147 460723197 683237052 176336592 217010181 315031185 883062753 507324549 909251416 868667273 535322045 222408387 388519253 367544231 461141177 755414423 547987616 786666025 863128688 870725264 423802278 304099589 802262797 689876167 843971411 127785230 486207940 194089027 670177930 823118061 664311050 781142730 510562529 708395909 376152166 259167763 324759573 350871591 938037747 114685073 415081333 460332289 939090073 952794611 461430727 629010505 113455262 408793083 870056171 104694349 480173009 549622622 488879954 791473222 374059489 251110461 106401523 837595509 812903896 602048636 980563720 461427033 169452478 478601928 662868207 459003352 231521784 473006894 436059874 270112338 253219171 641132122 598341171 435883534 447575293 588238878 325471967 584856102 441611307 963618510 589843545 955831353 127349878 971179979 507468513 775657938 612864783 696870752 985315309 375320562 573500060 968889704 993895937 100259066 297499310 382959742 244233248 379495830 436121417 852800654 978946431 695112336 699530052 853201695 255521329 805786787 912382978 759220460 672214521 199979778 607625074 869430304 116738233 666444679 911900470 963776722 675433273 403226455 278157221 521150523 925918473 613317246 788003597 840144781 476849657 888796532 443247458 111488391 297639660 848718350 402461292 158788551 324562381 861669646 519735489 550988201 648080284 519318364 521395777 940376408 935960071 346778541 200901291 396522541 141944971 831192123 826616683 289433519 960159082 222871754 932153604 622878445 200145104 663461976 268178466 919007615 477277126 698036380 172190954 249680563 639058460 475478746 424340751 244569721 938090882 279124999 857528778 816175251 627734258 277845078 226277757 107572334 638305092 292111707 679630566 440808874 402423866 713753607 598169433 560012792 291579096 768758094 920132710 655568713 253365534 590919745 225784508 186258907 861501676 798976126 772750688 885669323 259412452 567643688 305058444 662551916 333015702 182830483 709699895 860623085 207742040 165355553 800399145 277694395 352738819 984588901 777459132 796310707 914713612 135416571 863031075 270249100 369978598 761222860 753388581 196573008 642383708 169951209 459258707 257951102 259695374 361209987 532483283 751357650 156582869 609873081 871879340 119575196 855004216 384913876 654495386 542955937 328428890 763319575 336072042 858686501 883333800 330365623 902623242 783606458 760580844 204801651 711497213 622911966 679809639 354926050 713991561 372670364 123609271 511676756 183232804 753105692 824030017 948213852 965972012 330150277 156023084 731513502 768567057 909902147 700113311 734157718 986311042 553625613 659870168 668399474 144360864 886687275 419627844 728480155 123662349 420795208 649559711 437846868 909451887 392481402 171981907 260409196 673319937 437106348 738350177 483030617 118345907 769949450 439928875 384919435 787859699 796880673 830421644 880125627 195840151 611928964 857584992 691200964 589418219 749351487 773273675 362741331 553044295 326843250 731992097 944271438 105783324 805449020 672027291 816249667 369831119 859927263 353240065 109343814 669379237 680811033 158722248 201197333 397078465 116381925 476529957 102600101 105483242 604586314 252790419 368421102 271330511 293257611 376101175 125548374 112568790 222637068 667247435 869669837 491355015 414652809 793185382 669951571 329524396 661516118 242715390 868292502 808513998 498516459 330847971 730347070 726436950 130394745 339614184 880483923 686937101 264179483 562636740 540194084 884595618 860589847 557215043 298942789 533984948 546565505 596962772 168739966 379951279 200155312 203980507 966618848 358094817 729337639 921771170 120909060 271310678 237573887 771261779 458683682 255321657 941166244 846157327 598683203 471123586 716726682 581274638 404624669 740856732 829385621 200749903 353512453 625278249 467054767 110970823 660225653 421876247 755895908 771397803 555174893 571177910 431292951 450958292 886192689 992379272 447530284 734317071 108624915 105817435 620404451 221645831 764322820 875405632 320508154 673548633 791222124 964510497 180618383 853735995 990375429 495948094 189761518 237159633 664234400 102848874 746667436 512502990 255406644 440550067 255036128 991085457 291105249 208656599 367508037 469848115 831751734 522824565 254252251 689538034 616495660 355880460 787881235 323350837 782371147 687657231 707148114 561787058 443074908 531308216 470218207 912904519 116003936 363435301 619056253 627606493 126475846 357768980 866991565 242962886 833963961 486579258 163961060 931453474 881564382 539856196 850148045 955559512 861097385 863805111 109421491 330081018 984716214 441078932 370216601 600253991 953312201 711985672 810194941 556547550 960666707 495497084 801228867 556382937 680954479 864633174 736931794 113930959 131216587 392737182 578870672 346712401 608360143 988746374 908806453 387961144 586540765 171973697 480468226 382867285 257866343 570498817 647185693 890236676 595442080 159743408 338526274 362384097 331038652 870727969 310138336 739492508 566028629 367263071 493460504 788784607 711552332 871660784 425856900 877668025 276377085 105236012 236575587 762003102 221459191 848696959 778892166 991954958 372343619 557330842 364810358 850853904 537624620 379712849 992407458 143859800 899136459 423166794 635054993 505718374 665956103 501047500 350038210 412015126 404810510 834437090 326464420 746534123 431460090 218183179 106644546 369500999 664256676 455155285 615250349 292141468 393715319 354957671 123810098 399180049 558437601 654729398 195889076 349313994 699956693 933530082 597227403 801289358 521010963 382279962 709412992 894700471 483655431 645829593 937380693 484716216 265337194 303687546 367500622 630230718 590267457 553366321 381612437 594576890 318107299 141530195 400414562 659053386 570109830 175917509 450359712 888636363 866530230 671132765 193664148 225328421 355892907 164703006 106396519 998356327 157580742 589304463 784479520 158107626 755573482 142119105 238021977 318508189 877758443 957833761 944270534 217858925 552598500 440552540 830323324 268326299 637309187 724421414 336054439 873246824 239798641 886289031 253385010 183287196 517805728 645807122 403725778 241881559 645396419 787726253 634926679 506822465 153635183 963209917 858890252 950612123 536954859 635600162 347022355 352075363 491640988 787421989 778643486 100605294 549487314 744166243 352396111 642866209 332218696 529194410 758316472 306404087 398596187 659640690 183240057 659330191 814863721 445129262 871117656 452599425 927283442 599777511 684575797 621109965 375907677 757601986 601657158 317725966 639890295 480678542 335294826 698786631 286286924 557655371 985755529 513921698 683409121 755176933 367453172 731421062 962621853 330792904 259899156 391191357 486376086 615060949 826226805 285512177 404926674 735514627 461131285 149098977 934316833 531456321 736945868 920269855 913308508 138523380 842212822 253055860 573933466 203431772 176247823 160958996 457288118 970991931 204704059 239216155 487066322 175627228 516844051 618901184 774959865 432028925 262052111 774069504 178648231 770908847 314699960 375460980 520314369 176645757 407239255 571780939 192496866 138008982 120843599 257788145 920747770 846206052 966232863 334531533 719965089 982663750 851346428 271814717 829599108 592610296 711919042 126752079 632249757 765429281 677587835 360988780 654678238 149435649 368552982 256191018 108135106 445734841 254423218 481633831 123377235 938591630 612484968 312610943 431686168 138100567 689454599 699970079 351942187 679384807 284346859 679005690 556437847 325674763 486094283 681727287 163396628 442477717 904562404 544312359 758356436 342439805 735380512 841734235 582480060 876431899 769105371 905123436 897336767 929507183 499373102 105386648 373758388 724506131 470251517 847245757 534271017 785635228 891910989 300199253 752838889 877252401 712413758 785416403 299114585 103196014 543151699 194419636 815622868 663455138 806211514 933371345 448399527 271419531 922597816 933860345 903352625 623431715 593288310 341866370 680556054 166680116 409740340 837840846 657403108 348211960 356788556 210273196 753196670 667440810 531914146 997409604 846750165 804975701 196140975 887862540 914969634 711164581 604060843 277647425 243943629 312539494 637815492 901950245 561733073 243628000 666865272 747019430 911060754 309680577 170139712 171979538 782583680 703359782 195711734 734651593 748815602 141352081 462019155 109108869 914508559 821209272 590876598 531808757 404891889 876261857 715320789 375503972 647931939 514620287 283320403 899746646 348886985 122833004 300870160 488953168 172832157 498356949 781765816 125327380 290108513 261147086 457768023 665987693 123247633 863438343 106493510 867388936 515254345 916701228 506503990 786094201 410152014 182405316 699265196 720464661 649370918 649765606 185940923 303374481 399835618 275354774 205804305 650032926 867287133 692407787 841063450 842273793 124220527 214868715 764633862 216954166 589341393 556992745 695902116 115322789 413574072 355847619 115180582 474245579 761513025 456289583 316816338 409507813 195929648 814649903 157841654 437450573 477980245 591190872 620329122 526653856 183704319 563611266 123214055 992348624 869954394 360647044 620182383 810672637 533430485 669607477 319460017 255357188 604618585 368551035 245917757 581706948 242484083 921976864 931364054 188909484 543455072 163446311 381288036 605816702 318704312 347289707 365989542 800223344 414481628 501518352 930366798 708726285 652750672 696247948 186015858 418135558 384112765 661054993 207676534 206336711 283160317 434372926 581051261 873439940 702016019 258125139 195814935 587220506 981118641 600287040 837252786 573895341 170155249 217273668 831520256 890976725 888089866 975135484 800315465 363663976 910892220 967040841 936480793 886097601 323813794 427481176 983953441 244450751 124020685 650302820 211477621 904167183 550742714 915678860 563448599 598780419 565619079 485393073 280041431 614460966 953234675 504373747 292870511 451695349 165106243 463749644 501682268 416301993 368353117 308474623 282511489 530992707 825308431 755016879 936354301 396235103 240861465 346715127 461799644 425951772 733988313 206405046 243950530 874869002 220711217 127314424 407770880 168516019 657157156 123681228 491027381 554348526 181792552 715499553 940778587 187334714 250884445 354000881 628251694 797010855 330699995 320104751 933895854 848535800 855214534 862979851 363896314 237801498 234482330 486383980 642770272 325093904 241407321 699229716 850057881 941976054 936777165 811949554 407425144 840495796 401026177 454303232 265359275 741962878 792679753 274552488 352737334 827309663 109253474 503208212 928241547 406144177 189368797 760045260 863478286 908853401 307519298 178336943 948336025 126035944 764054672 567453630 843549450 432180057 635922355 164237445 765523823 756028176 702052526 643066734 767917207 689137587 303212599 717757674 683248255 778359472 948101576 370371400 551527775 205727075 941769486 391649767 127656836 901631423 189594212 137871926 482166982 845156935 957853870 383486929 973918496 709173516 511741341 126192150 998052875 764651122 746421806 103636761 783358919 491930038 370085952 627638175 732788240 232127298 405293960 316607858 531441928 394324372 372813333 197578547 725415865 239527524 617441588 488726954 973049215 120136886 953039756 741635435 153604113 706518899 577969044 981670067 300217300 944405974 285123099 724093143 786825063 363873695 907389341 302762502 580248295 592483019 137774724 489828095 102814291 892150133 832832883 480198271 905447181 734207053 913877168 294505809 334050377 648897306 102791501 368756289 115028596 664590328 311782405 596611837 648329704 683312233 126055127 825769529 763715881 531677551 946073107 149033760 341774837 489801996 204173898 802137965 876142448 710312229 896865358 851915037 644467054 765054096 714874912 878425471 658446932 567347302 772276349 259186218 431512655 417988751 111415332 674153978 469418662 695001348 240647760 154374220 426015945 125059468 661696113 103450737 402803485 290471447 365341365 530203337 604665758 327803571 607942399 446427250 851306224 771601278 309389738 818443049 854856652 954838297 958331780 564322867 629135382 421508879 996797980 924088523 647355726 896027148 885196044 326544440 763161837 577961923 622593485 455750157 297318803 497969714 546703844 625629066 562011565 918419753 335505360 900955967 359392834 512414399 106577860 427027385 398122394 935772453 267329794 317985396 632585767 377871137 431801387 729717303 444891499 231159400 318401822 424436659 821720324 859510948 981471878 126376413 828048725 590602678 685251452 502893886 873261067 742422730 717809675 758150737 243797266 586264560 705074270 826082740 809401235 442328651 372959703 850425272 194802478 730227792 941310690 850065930 310495328 829277426 487246305 349393225 307351745 646843511 853342690 449682126 280138732 737002336 396511340 802813241 532251196 346511273 483410166 769538990 224706262 314205221 589776823 545140083 474374888 998047275 610367876 613134676 601100142 919224492 540851470 146663915 363747559 403793994 760046935 280802692 503732768 560790463 316272525 466918085 551015416 716413547 558118997 807195016 791912995 668572923 627069196 454436375 766740921 770218657 511119596 497031560 423954478 851611453 185929002 694937178 502417776 353495792 440642759 843203145 935407355 105770028 514268527 818294772 526608165 629643222 174859940 628987896 496654957 407980549 294316477 529943647 488106806 443249892 600021219 368676247 725137324 224037076 834572011 879731065 854313941 992472301 691162528 488758520 153916625 303959089 473737220 373598240 790879042 258236124 983966266 475630700 828293461 526941952 908064767 246565783 321657184 152225402 917513386 419469001 465383514 875894303 676459219 868620999 449804233 223300326 439621671 883072618 721000161 325589259 907499865 328680996 215052636 653815650 161968422 860437518 478703958 845985043 290764594 242362912 213692613 818332051 189965016 911742269 977059496 294981233 907322619 220969122 878154860 999428727 831735388 294841135 498456800 551911266 123760811 428246837 760095896 864141781 537754484 755939806 385238102 845457641 374696437 706089589 291274157 267287417 848057004 235648307 493136062 581125708 859673423 446570851 154250678 730338474 949824772 278599422 237880602 417323859 442442479 674899249 877913013 617545171 346124558 761417778 763853885 230541835 734752362 220137249 611511623 534462788 474758869 111204607 895710702 644842112 840308977 113458622 973833783 444886381 336537295 979921463 583292386 337683335 681972895 563920650 871836417 696797638 694716794 476530375 798318955 913491962 114783662 171009343 836693594 795397772 161580349 616847027 978970051 772403968 822923208 966994439 256077710 887709055 101749902 111615336 850139407 137065172 449803154 313627250 244549158 643593168 529698564 377241982 711221767 153177992 123278806 334850665 939260058 484472211 743600609 962812200 717260771 864012460 533393521 343803428 397072232 136912793 898596682 160027601 797744165 192589584 695885024 705831107 167053612 812014800 742762808 502651420 734900584 285422553 338798607 666415359 318328021 917026025 984279548 516465940 678248470 837141702 149977959 609318036 169756170 518131272 819126172 679419387 482680512 843232038 658877871 335069980 760712255 164766768 395483933 463293254 487246280 846007392 674744697 318166990 135745210 729411019 334755767 367099688 322687289 397356078 263128596 889332942 993002830 531615747 587743043 634075032 957353780 758170061 826930984 517790574 710805241 296620374 319020792 591062282 426818621 480678891 883944588 271675583 603637256 348291028 349526799 819181751 478750323 903306177 839519368 610067893 823902319 397286472 455743475 933662953 272800588 871905139 645674696 255716302 532545880 340769972 955659446 406074827 311913896 197055224 286333838 994818477 311741528 514466095 506855183 467092884 625731915 476401892 586513732 385174179 443806148 184709713 654741716 517203094 122988298 831633809 519416119 492741370 221750184 329727626 492341174 235465939 384620012 374098123 776579601 894496549 994395415 570779799 581615234 169792754 867616962 721017590 896704274 481846478 838531200 633377953 837687112 293653506 583548834 664610530 804879029 862436323 144795781 801808705 840657029 288330322 131184994 174767526 210428450 336264523 394251220 101257841 630668394 189193846 748571373 583606452 756628503 246172754 854556436 951967888 645864486 685508039 451681189 153937756 372453906 291396632 653723795 119776814 372034775 326489388 414920861 140381539 245496184 479154007 555358441 797332574 133377239 303899411 639175049 546692866 693434537 489660253 323212651 379445286 804111560 756253304 986876769 966381488 484641956 481131904 376391034 633688269 422598012 238567751 822608862 128833361 208371946 499842485 546777380 472105493 366695753 997615754 806769255 803417919 958449143 704826138 662051152 269948405 234652270 251022557 742301877 684192724 977406138 594668161 621351142 854254558 686982245 601430692 714238423 349297835 149704448 606774870 471773889 586758094 383911562 545108560 776830529 313146059 325251957 946892873 538824159 612613888 577452405 936454272 306218065 121187079 912387122 418410708 990388233 821036102 146510189 557100521 972255178 572623390 660146206 719915354 294980176 688030918 728284713 337752420 485522756 442566240 444923366 570388822 679920586 444069875 798965763 230588629 959054401 859316996 650495693 535676994 211793063 739106895 407251471 201214769 959832349 943309330 983886437 894659350 157443170 729466686 199173669 758301839 352926424 472891172 900590986 879969963 807298699 656119888 594598203 617717184 312629738 873666319 708504746 794890074 696445502 175105177 404626723 799454688 336713439 145521316 142406457 615228726 812449133 841865655 818625490 212851625 909715243 266974223 176955683 928731852 889301862 326228213 534183851 924424566 889689475 992971702 286858525 257545168 515466062 220535130 407774107 244407175 101385321 543885352 850232695 780970256 153293189 664907168 477084749 912094534 197594316 352232912 460378128 576265223 603925134 931811309 996943090 138019750 546264918 502481853 341113916 693060691 816303838 474685674 662208287 401763053 539151622 595958277 341501536 250093949 159503105 189883151 188544487 726288825 783858313 621163630 471311233 612194015 818326245 328928037 433893756 528192863 998672067 727396235 493018667 682518414 745423120 111306149 677579130 188106797 833364839 806085262 327327348 836353123 943998566 754823429 413967700 430281961 394604062 436978954 978387430 674160467 473377831 592304951 745372072 587974613 288203573 851266795 538892608 199407710 857503541 489247036 366054545 402235227 967569189 136624938 286076621 194431664 616581656 716589772 915023430 319288120 670856727 341324753 701404219 409910050 633593330 143954003 539131316 239187799 171597302 155797365 315638905 441067996 390207169 474559325 308819072 250536753 676460499 914199674 621366669 553640012 732467244 684035781 754426111 238930120 520844658 887663137 772942320 557851927 579701567 353001863 828602354 522219798 213495559 307563828 929024683 116927773 871052793 135463255 602610070 673342639 775638470 254440365 292978551 854236751 920391878 355936750 342806211 596625227 632149364 750127346 755578277 534440236 206912357 684486855 212223736 223969333 653009921 718567523 691683228 393223664 814627475 239319720 614603722 366661737 262892553 338930142 912397863 323369334 413797816 461682196 954735580 592388460 740471503 260705667 795937410 855501288 746304010 880845751 414659394 663125072 796966738 581286250 956127410 325433967 477545968 735201603 312698276 789488034 415282468 357469645 936878541 115679815 151880361 385997215 401337586 306717715 446934724 967354166 480297014 261522992 664388847 372021083 546581119 547138548 616631522 751155929 523975557 949870071 384220614 421152509 490921207 992279362 907982685 478992644 506647050 448158669 259078773 451436785 764208185 640618123 709285140 991730258 643326933 266498243 420359035 108480341 929862327 406430717 660951890 996696001 715853715 126124841 882067824 816682643 274151329 925997074 878425700 889390784 930138196 982488017 166944933 332320041 427877823 178702712 461401080 184351153 267102444 677254235 625321797 616054729 339800159 387199263 801001231 553690864 904132095 130438176 695920227 697758444 875296361 174116162 501769794 497182849 739182644 399250685 335063549 827074356 427829079 423186428 207382869 348314690 443909285 664598614 528248624 748337416 901873230 232094209 594047616 776088957 585271877 923177128 579806031 850403878 361997188 429244837 985856931 137123301 155613036 153301095 970036614 631678917 351604728 968929472 220566546 240000395 762716992 623930132 493904125 205380111 321018164 595259657 458146998 515081368 117801704 561298128 490498234 615727247 842098657 668020764 621517678 502909145 828860076 564866739 254993461 857389048 207941882 113090287 448419697 480603599 493810231 845272109 512748801 687760953 615058151 365467606 673503770 235921588 239330514 206252603 107782793 964638764 138863931 579726938 548960352 424906961 699811739 149694814 240988227 268792964 714786699 907106182 968412050 612865104 607393807 345279465 668624306 113308540 907004455 200558390 859578316 154967863 802412113 870562785 528503425 189811257 185697132 998696949 360310638 629564289 765345012 943515514 959465439 173747640 232016415 317065289 489152034 226578522 999037008 249302480 281583981 556215920 182743675 727032758 537606261 566785592 291614834 976137009 136823610 897727626 621488743 571227696 399110944 142002832 678600394 546545541 184979232 398982952 213982671 404117529 662095091 364807620 536439595 303544409 983542118 737874832 950180781 192607229 978107180 387174003 253824474 722839058 280994336 860870801 379450908 814811941 103256475 292086440 621757290 791197926 277743718 718643262 136452967 212554368 857072160 801322036 249331764 100024246 751925695 964320926 358822713 986374549 653938604 555365968 481203827 297032459 438810369 701953843 749875516 770517264 485559748 276875841 788525519 455844174 461644407 170237211 203099807 941715912 711789620 406987275 277716609 116880042 227802213 681139348 997077597 474468557 381973441 242122278 458778264 658204555 861709876 606410346 706550799 820640838 892407748 192467849 211288043 404433173 837695228 574910358 688824276 418304228 163282169 329222294 103676137 256275175 798068234 773706572 210097743 798826103 349773161 178252862 239278009 841079017 929023704 909796921 410076045 748605098 313192191 151699488 300156002 811998064 154390302 706703785 680772788 680517815 193923570 753036561 698770975 472459851 559343095 495173419 572872676 914808505 715662117 940193436 415752538 415196416 237907485 915994216 616037213 514604124 312331299 437999440 489236195 153145606 101463288 890661348 134144147 633791028 641495827 274892937 462454975 365483797 167733859 527224414 911700030 499882518 927754759 473243150 617724549 432015955 664769355 994437628 637560202 840965302 637857738 144386331 321362060 987347519 589412971 212620897 497365762 734254772 351233310 745742536 701165058 623972211 274362818 798657795 292261999 517931311 343828486 297334143 108011043 446507591 190775684 977761441 127766608 418641192 213791624 185780253 740609279 811694047 237393978 224392550 898168351 511475516 925056720 481527108 535796218 913849182 241717111 453302572 142754296 364838175 448369877 569148611 261465666 156008125 379530929 610465231 969077497 310645072 780266641 443442529 896350407 219712058 946901987 834093410 230820946 185286890 796134658 394141298 717068878 820127794 716041783 335655105 588276356 826787246 976505618 336968273 896856551 144235666 177848392 783405510 335739243 335605035 333994584 742153239 949825061 805985435 175088898 488593748 411241399 416565807 732259118 105794436 798569934 835119449 539622730 221384831 588469284 909963964 903638710 387485314 557882550 748976596 567675137 499017368 202398940 462127291 689321392 397032292 664149564 381292293 744704180 262291599 222014705 310534842 911353063 409757555 235274972 146579069 171047789 242252588 513522896 953228894 695752559 563698507 441007692 590385637 968228381 439819868 325567970 168228217 844458101 394336407 166464373 375857324 191301037 209991395 939225343 761745196 544668100 105710114 822186354 280579409 284616618 141320143 765708525 246016081 648935210 101970794 594257267 449220442 292966578 633137697 765641608 441847608 700403680 475334883 814141682 859978385 899551856 192567118 430561996 832778007 523574616 994694056 223641312 177743763 556577917 462761801 217514137 582578308 789125329 957234555 621563232 286307534 975057138 451286354 750002041 784356689 102826146 639448135 355906682 804670101 480786357 428612013 176788086 153495528 158136582 252516112 541074508 453224337 877390011 103249239 884107612 995443871 618691681 861012144 304780715 940510444 818237034 434150849 650731076 833862252 189942398 678768085 851793037 287944630 632383780 717553465 493870715 167649776 582969169 288128130 118913715 260841763 658723734 262825380 372056670 479724288 696726900 105952580 924460219 841109609 333801022 848214204 560028747 165592026 703243958 643144858 708759632 197567696 427901716 146025719 127266049 575429563 999307821 372200244 230157822 544024981 568922022 175508775 403103034 568137060 462696770 171006324 246507704 417008867 346825476 136491276 771222715 526794872 902877520 949860266 328086249 823665962 105936264 446840534 512852233 463397651 671515541 645380413 129349043 342060506 512077230 847262744 253672121 186036506 131635699 178982781 228043235 553028866 101395417 317793378 726953406 936577323 736507563 558450538 818898078 939219578 947960886 396558161 663842057 633967427 769420949 326646442 689773863 635814825 251544678 646136492 411338161 145789599 349583283 981540093 726822536 883356207 913063217 902143943 421363752 331016565 182191403 448293168 182676553 654028744 401771145 388801645 164592918 830232153 191613828 807515717 875552663 258710324 972196377 570488932 576061467 206137505 609301850 815070247 488588201 796900842 106515212 547100001 312020042 938882291 380522724 614782163 346635756 334429195 101823112 462605247 471888028 310027537 657082744 960405517 296296665 637104360 109620296 261857294 567505505 656650589 761788797 252985440 144054784 854746868 850852757 245206044 954580971 282103556 252380262 154479491 136782156 961203518 519408955 247853609 221451522 121281075 618351933 129001600 656909190 788130058 297186365 169452967 697748784 928257831 112365879 737870276 423077969 140436127 180962575 505318491 431943645 689588597 906324580 560681838 820687023 442246190 962459195 946637907 447836195 177617985 678065075 802195249 548208994 118147254 780285225 341288059 717795434 150278854 800794333 539163984 419435557 370067558 738384127 645568572 502295715 889118536 401512303 306491796 854404786 802229083 504933059 639273681 107182959 858536977 794524607 243321237 605900404 642174459 185215434 196631812 640736673 876262662 610116395 164782222 120927032 966873483 910665560 849334386 101802537 923882915 602135148 279804202 316747773 265653744 618623358 426118853 409411364 347220247 220750015 183245838 403417571 205478331 612714626 564416882 615519142 672051239 205518621 235856277 410510600 423425645 312431457 958374440 731164878 536722627 984580039 618203522 319230490 838959205 826862533 824060811 779341459 689957199 173410294 609878743 647087330 335756123 729327631 252586433 964110797 267316077 473906828 692267536 159265351 254707148 108853953 702442827 186035496 642857872 900788338 611780447 300029979 328651343 530978967 534015337 948091874 502689374 669027216 532057477 444564739 243895949 483823639 629993735 443676751 382636710 886399969 765586549 903800191 457737828 750273585 343690489 186796728 476552241 428265850 471419837 229488907 802879780 114419333 544326863 680835139 174053890 372829630 780180422 113683730 822374659 795643650 190682834 920289128 150845119 894811162 289804469 436584911 341032333 207438131 769275102 902988439 836529920 546276309 314167982 647896147 918601273 616340250 455668199 299094807 870329464 432113559 450674827 757742201 650271226 138927738 546528780 966038344 668666097 746295046 235690175 764550615 719098218 940150603 214293043 236329848 928684140 140252137 867637303 296399093 954031035 273260469 912830589 167333385 206078818 849492552 781013758 390099741 521902426 466181273 523725441 462938552 997781680 441502103 617173313 246072155 172483112 242907236 490163850 924019683 489107688 968219719 739718958 197737686 340757237 632111989 719741405 551661108 286573191 318702752 251953530 769774294 249046625 377222095 409979946 947071651 916192847 952338873 195776174 627731768 471654773 190323309 142897978 548667156 526272705 953721221 229705454 324968018 487215863 762151997 614713811 143433147 868316906 213370863 529694843 672668399 917286309 599178024 416678473 948954579 789206748 661006729 712466875 476614900 514302982 155819104 935529039 710357841 227729051 321797986 625336475 241930378 190412076 617444891 267616464 397794073 394677828 717759860 756982796 881023253 882633970 210995269 466029424 987257970 471491842 451211500 574303436 547623434 402985075 568482240 944515604 602638794 219050559 902738498 692515164 861971545 306450851 283888931 851708128 909485529 168344579 157604049 752767364 674068025 731888687 460994915 458064898 596065466 698360724 702657662 813452282 391783373 588345147 370886535 678090352 368828685 414639475 944315891 225370780 492673949 403451116 711021950 399042131 332216329 885419205 699235901 240707519 797601500 294090571 362323572 342820805 693810453 275944638 289218361 532432048 234141043 819998863 311984129 470505939 123131518 392155386 163021599 867344611 290538152 244575657 244817295 700051149 204056598 795665337 904818947 789025910 766435179 238864017 152010325 317453373 291932172 301553546 783369770 427598397 856661189 489857238 538731616 891177340 888422882 771698021 268795083 486422563 244335322 174197530 754581635 517911767 120123285 285757855 933743560 624537144 290377811 456050491 871133827 402859920 589738036 171835150 126203893 868244575 583633247 351890489 769136751 644880081 572239287 706141389 399981228 661410928 850522978 714800493 873718596 849350255 536917662 691141459 542267164 120877046 356655580 360585864 519470429 545917501 469969147 990899474 984625843 767624230 876526451 673135466 874033331 972133786 693382452 312197886 106002623 789820484 879138329 815536586 122323513 757023080 753412301 493853370 806290620 421809926 703817082 742912791 406216647 787391322 473831314 611451871 783299961 239417547 172053721 432000775 233847148 316436900 390960928 942727874 747295850 520375523 997724813 530269878 461929160 361319098 867575376 546752517 683441785 751215504 862711521 846534416 744198926 420070625 100777803 693470592 206684218 325226092 308347336 798459961 505392967 940272994 393024519 393342374 388060806 105686897 415895087 482950644 405422751 435844232 449167962 836089091 214399721 812418738 409816016 101119335 103083077 218315976 513440408 993635464 371382835 723093589 772900535 210816685 884225907 424977853 964824970 765846588 857806462 857803294 841149291 912476244 556936038 584198584 624802519 657281207 815407899 259064710 263222579 347065454 275553612 264202410 106736265 244630364 793681425 603364236 396221508 400953725 313555665 123845167 227952940 575812904 631197940 465902671 908623873 270652468 565049214 902815988 955201952 506849090 378909344 329554280 378870542 997685832 194007518 495688512 839875974 554758267 879282188 951591819 175862612 154787042 133034190 964401421 441613506 360535565 616792916 396334975 148280283 339898684 698712692 731690804 905008802 975333130 900503035 664228862 676032953 646684100 265782627 838095234 291879831 489136475 789518599 780143574 765429681 411133680 572637333 924759130 845509118 570493305 417612614 872648621 454055332 609862669 445572764 800872148 441214609 341922888 405062656 514419028 902402351 330695674 420218960 281078000 449787197 709685117 881131012 766263692 472424236 790675385 565536244 791901207 269532480 554208390 763974395 705125125 188789983 462856102 860135697 694719529 783721682 839068902 254062850 736655500 936330755 284641915 549146787 915889198 723726119 959990674 334868139 967281137 909616304 989248689 443403105 783035716 659239637 241582236 193652336 725846043 965298448 635903685 734490889 197742018 653268659 270106051 144660208 886539344 388952086 804500860 998421936 519918512 148294119 995187555 588269936 875554071 694576633 263996321 250008608 905776208 442186625 793234008 137530295 754402795 311028235 937002210 710010387 441736699 138830554 419166646 903331710 338897537 340971680 702060603 720064766 903712477 844114946 666102223 249625127 561036442 569230399 902696732 289681997 671415508 100822165 952321176 240913497 302070281 760280700 174742171 443887678 699963183 924818891 722738924 520117872 421556324 629079533 199110236 858125754 975263586 227594383 547487547 351763339 958300069 320864435 573983582 730200641 353969273 534935056 772548869 794398240 611691696 458879352 202482627 463250079 693624472 156323258 689022866 761807035 179786639 622253558 583816864 461433910 817787204 467044011 842223370 281543036 776111226 670170184 400202144 702614368 132741860 806712116 834087698 115401531 394276506 557784784 790632751 455587177 358813247 531998800 718337327 485615878 121756897 921238455 727420096 406587952 887361125 631865032 590346604 131152650 295645004 874625772 373444970 842053457 290189117 349027679 392113175 857148888 107453566 668244512 890946093 922093897 324068309 367584562 889198016 160458150 560667044 520818596 750188618 685143223 331596429 493525084 949888886 765721357 847170505 205566887 668258034 697287026 544339493 362018587 577596664 346298950 970729373 451002283 405188707 751810838 990524979 628420581 378922202 487787172 473952814 450184668 365847083 228960226 784616546 249502103 706203651 824263698 300545495 233076931 574591604 487528587 113437864 402026850 635925862 699980123 883406368 702860631 994213687 374758236 570929707 170694306 901276948 648985041 155277191 538333603 332720638 471259778 867153882 329188309 115464090 796602899 433518702 256887857 692088552 717201144 587589150 439915045 643985951 162055575 148320009 489160207 733667512 277781137 232262344 496995642 519412949 851026339 449673315 228609537 535878410 866752507 581943986 847912849 326649092 949705075 527019042 448300041 706584714 195869528 360254340 621254479 758883340 145391614 209611499 306004791 170446115 126186786 459499173 133337275 936481713 162088229 668169298 879708817 362371825 862772888 826690502 348072267 184344814 961671052 917358946 236074599 470132568 333608902 787962910 607645897 946884699 732443726 507146515 908674381 750914284 357981594 728653178 197264375 602019876 346164083 968295815 902125780 586161352 929570721 991696549 203798052 836243384 826447813 120449828 130200692 477504785 821842158 326034104 660190138 256911465 253032931 544628358 879640423 577815696 708670662 822449010 268417312 576688004 518199341 434214581 388962836 529411361 950121411 180160645 814621427 483898894 622985168 609863303 918923787 200877523 903386865 159779240 743165932 851162707 435862675 843847038 156523904 513606626 936325813 111792797 511068082 685105788 958876084 828928418 807512765 412440201 454976447 266302853 465500098 646142998 423599315 796033320 874391408 546501956 568987262 946448206 398240118 281921156 964249070 232689702 966701162 526021876 310644090 889753220 230846036 188757147 337452098 805958163 910708288 652869421 534890395 766627415 573452659 332101680 719156968 675989726 135962152 762445348 356829190 463708658 837276495 788477664 748860544 472925142 282207656 166441563 217904891 901040038 224468153 128111779 978659769 650048513 858985685 540254310 576833539 103056046 524908251 359243980 280820426 741628977 772552729 272999092 495245803 588184661 225823407 503533656 481788277 305135149 120688024 161796641 387278996 579641142 499828301 603265952 910792372 140146503 144906753 286130975 629061566 227955557 312149931 340469129 142124166 114432602 500280188 916030773 285314881 843081913 663882102 265093656 986123861 481028105 881461223 418214650 715366197 791152029 733170935 478104796 164365588 306636979 165941912 386742543 355223333 234738911 447668864 936127453 516008316 330549730 589026101 380211043 840769713 283892236 325199644 630350755 630847169 692903657 603811412 228887867 354026179 553632329 179218337 780142901 586300368 831798237 228796394 639799304 157466194 929667997 456975934 480986443 900920845 803587814 536225310 239249457 980577672 348816250 677557420 918245723 765312152 899398081 793934068 947135550 397668788 447840351 496238694 182569977 235650889 299954669 305645729 281628566 761515298 170561599 642450257 125153028 212989115 509884954 688513001 903853190 438626382 412097390 540571088 340415430 667971149 946487530 141352380 153895923 905697818 957883859 764793766 608838149 717570453 911464889 955454428 986041617 842638146 286020317 151954644 325274668 431501257 458110677 383962530 919842088 384014837 296297865 813709971 515901057 630596322 528998853 152250290 225287245 929026242 532780761 479207814 684677926 722786226 545644148 280721759 980858716 372551405 803880248 836256635 283144632 264628660 214334648 641623239 489740975 490255977 743383128 310472029 903010281 603516653 399769267 513082214 963123165 636321764 524062521 793096712 103159663 823417248 782597178 386232122 305844247 518132349 642241605 688795519 606493890 461157993 977405614 379155238 517244337 289150628 583790084 390889672 604367467 108003556 817016130 543870180 184360560 386614561 508098797 877994955 977243776 227662999 244101994 975051838 631760406 704565866 666271152 659953405 689289998 190543446 519073542 409796968 580436297 837368606 738602015 762771578 772820851 536739738 121565933 883874346 516862688 806696293 595561103 578975075 369397502 804706145 543838864 378518697 876590508 249030147 329046066 943046555 888158671 642882502 739605456 845770721 830283505 495952241 191572881 606759171 729916191 628678277 962421846 660085256 879980004 488697804 883156330 908643485 104685885 596684016 463766808 445705460 824590417 792245823 366365391 747755686 649355214 979611979 463842237 260852693 423593064 849442359 424115324 313123355 874960408 403970173 820046142 386472694 788146660 652601478 337327460 514083747 317567400 811219799 657257173 139924229 478182856 219619789 332874189 650602100 577749711 676167677 308843296 793924714 395483763 460114040 135646614 255211356 865163720 445294775 770661247 800758245 643397605 138299712 262020461 905703888 946256916 791209721 697787496 820135687 514559430 281887544 802453304 840665509 780597800 963665890 186725191 478208815 305054900 679294251 921848287 683539612 605170516 533680362 842138044 715184906 182644986 321655812 391168527 990168096 488554412 560516846 694062950 476862346 953787561 189177255 888077603 731122648 740176755 367556553 540691324 387286117 186465382 888130609 417265225 952245794 768408018 268686406 555129697 188677627 358116746 893089998 644196562 335329058 258370948 824592973 557218848 621748309 537684266 719798193 354816719 209658587 348285116 735790307 194580947 239064066 380040419 666853393 608671985 639387401 285133157 383967190 447969038 224786167 448739390 692043785 240628946 252357478 682185399 825227626 761273869 440808141 268239181 107539262 255668234 817334103 102606720 592254857 127984535 670325859 505996519 970659005 857329403 721801531 507462081 151057457 360303103 482745358 479819588 652146093 417485578 801850578 627368233 919205948 248039636 189441073 747111252 124442477 389088271 670825577 267813171 381502457 910557832 228209225 448358333 953995834 651109015 265033193 990569201 188857505 415525455 660955093 807818707 634133664 718340214 512370499 206987950 853564260 332528008 195870356 214859707 447973191 962864994 672775307 623115823 761113874 546462880 477496958 298892974 425587726 446363209 416687504 889250065 399953324 251090096 688363500 397398253 136228713 977711945 680742116 285233572 482832419 935922883 244571371 378074793 400081916 493944608 915230186 395211690 579847190 347120847 852124459 290230411 720112449 408174992 231471377 831266143 946764834 659851958 473761065 668164914 652414284 771620073 890654659 312199786 525443904 369484445 990424473 872193398 441752315 584941387 640112260 480526332 560310211 708196911 518432500 559499318 215898465 683907058 979615823 730665996 588009952 623738337 555735443 220163201 393922672 542980875 859785119 483396952 718221503 126576858 222351896 344290282 722442105 486461090 591213778 193314996 576964937 916179714 810767587 717777311 869753848 676565629 647296271 447435635 214665824 767849123 540624014 370300926 706825611 658647718 187864653 111367820 688672682 859889371 465257685 963108227 732333579 731335726 244977271 375711961 457209849 393004965 943245514 752679648 316797440 635899270 917372511 987927264 406209452 279104992 197902000 473431002 603641740 226831818 208872378 570225808 324393484 755521042 633271028 186494292 991457607 297094769 493979001 812757314 832680518 446149222 320917466 376670016 477135069 413346273 664722747 509601984 592826233 131237990 303751902 820961834 743052606 519162491 372006253 463688346 788076012 774496689 457737657 987047781 108327884 858110999 316928110 769285508 934864693 993306995 476086962 753378124 921081064 347796976 361937469 514343322 976932364 732678961 939304007 582134277 586256524 849907323 291091567 746353535 755616487 338449849 749056340 314185731 644482342 618471268 153013771 517163010 745871707 658170362 189027044 460717067 612913540 422947145 626437941 517893013 202077283 752079171 537126618 267041362 819239790 262846391 565099406 264385260 349204105 896767597 246573208 971354728 205324390 961120600 499509614 781835874 754261041 277132108 218263901 154771601 843122145 834149312 408615154 186744079 340335508 348911727 331025613 480259407 376151298 332478190 934893686 671721107 670206432 304216331 503941546 100589915 455101593 474537928 880324787 326642017 254687938 438821512 932428126 867350260 506044548 405531910 920134282 953537540 192424193 508180923 948951558 995042189 785456148 415302663 315687493 838600104 402528989 510278470 231884317 860361403 709841556 689261033 938348754 126312922 341243489 504824434 521644028 639532752 747444763 202127675 913367958 229229468 878799064 818507800 455027812 314192285 440383574 204554923 234372128 371062085 762915040 800497340 952125288 240205882 399470514 611230926 764909688 340054975 437231575 528624816 854845798 318302030 527993794 938577913 835485855 248066738 233241883 878591239 121407417 666544406 520549060 519252775 200308413 599303112 629016033 177109792 328672228 896137663 454890630 235326556 885543971 279350134 850164857 801680879 887778484 906515942 241067550 781149847 689497277 363388241 681443700 925548487 791205065 218361337 281491023 484960742 862704695 935264626 207693431 430100120 134846471 740244090 972127515 697443221 928737555 744112683 343823218 571292720 880662196 425138372 216960672 708212362 457926721 416339504 656961964 515055904 487798467 603265750 108479741 454941734 489505840 426640782 117021741 589795164 684358332 231174873 678157880 501234953 552446409 738166099 151735223 400039527 533408845 923772680 761791349 178978717 988790325 139564686 263644345 495531295 284350739 477450245 758626356 760011317 858047957 130443998 451120419 311075762 941662367 508701189 583301763 641675474 828368731 262912398 630006915 464093013 587653808 165322449 469753010 960967687 164074272 426648870 264914871 431702315 549312651 949199938 149888590 652220742 691200615 589522163 530545272 374366517 684182770 643912826 555149175 397811637 381284653 629251178 344919653 850469259 346884863 903967002 720467199 896592222 516113083 310768339 535603811 713111835 246654332 316644582 980999516 702943491 658022495 867286307 416960075 750502018 751746305 240719381 983690808 506616763 206366123 396614067 273439921 374740412 759391577 184033917 626548860 799129633 362512611 109067413 103789684 744491986 291161262 760663975 384974081 400155396 400138601 411078119 300378966 524292645 619381525 353334319 502713111 218246072 634087325 206435714 720548815 416477118 848500981 657722121 344717741 352977283 396299330 244742350 968634455 992870720 691301024 351832126 651872363 711951045 584967714 821468312 855597614 834258319 216433462 245325282 219452583 879293100 887492677 745892404 972621519 768019600 454271949 369837501 656510426 701914063 798165451 322179686 201522024 718932887 620606731 395860040 476388272 108748366 349485373 382289817 220826222 546005912 911475028 428964851 711433814 467689837 466950033 418668121 671037933 507976554 462251255 763957479 960310831 824054758 423305569 203461550 270792708 866252479 811246980 172393477 430576512 242777284 478136079 961294281 144112544 208787373 710823043 827464602 550372823 481058866 877155170 351168772 881008587 824420320 804697608 143636762 307219290 267655931 396297525 268917343 432585299 418264389 570172026 504500326 769247905 477831564 140606753 443101766 599614136 423704908 330706622 180607428 261848963 227440457 596358271 578747266 575529697 612617853 486614479 973516855 446572260 722522940 348869523 742487648 337086395 594813956 173046214 492459812 300542948 304554887 764662711 691457327 909125903 840094621 910023075 424007134 973460135 666833053 462721084 353601550 847380125 745224545 975179106 890859398 752380810 702578236 463044514 205311446 308433718 840946343 441738508 414973046 817092615 235620668 563279303 551965750 425268193 524389584 338046052 168700898 868883315 422966372 239692503 247480565 617123008 655536681 296744424 763563363 296705210 585624233 955839656 159552077 533067952 243010314 269221508 127898929 951075753 728142938 719387524 152937013 356542314 648029312 174768164 493450981 750399621 767282334 947278035 409233787 871834512 946269064 847005930 993381567 650473488 110996990 567906080 172707606 763051227 372543745 790661862 480456573 384859237 641350888 996913246 262000490 451322277 124899407 138791171 336548992 632167074 348998761 630484923 101769470 404269485 759547807 729461646 260539116 841052382 102377907 249547932 456133969 977742521 397144020 482959810 673793987 350361449 392534395 871966193 135872906 101530197 912071945 955417149 101832161 206335704 234593405 140595065 857123890 643625846 392245333 199894014 283699760 956373138 345375000 770728565 779532714 902129185 851325435 136808830 254422440 291464555 394732841 402582177 450031265 213143712 979560840 753526850 839660795 149798731 835622259 860213767 795262729 297440799 248101373 480372748 713847133 670232148 981559876 696373890 846614318 449042863 899211222 274371792 924400104 638485164 480439787 360920527 697770983 981740589 439511333 136794568 501142671 684015697 990509031 894897554 269654728 627179529 108533689 861317511 981869638 655638891 955882871 921661023 678157551 763201765 891723450 736541180 132424807 324470929 195289328 618025337 351768934 119581012 757958781 603786021 437600434 509348452 708213440 319536539 655292417 783428850 676674475 716991875 627278823 608702229 939017720 503963535 110621530 599859694 435047741 932329037 876189912 510928732 322613918 169929305 954845780 886383170 264112685 357525525 118675208 635962419 674095768 812942094 792853017 616777584 233996283 501160426 133708416 157460884 723797233 732415909 663519856 554508227 863320032 775035786 477508092 616320505 715374224 390923451 585896179 212322405 881781051 718925504 524761823 410180878 740877690 547204560 840852016 758020688 286372992 681930044 942338866 664685296 473531714 812557427 264408369 724584323 215312834 566067424 767446470 635522296 656914854 162937556 179404427 187397150 387798156 584281457 447389820 131369046 664960408 619905340 498806031 869996314 539166047 898386444 932141069 694041157 520368041 999197140 444684156 832803024 302908600 811415326 142573637 391521795 605247059 276293304 653774928 425096490 933715634 756950300 754369826 550880168 493147477 952731923 956388777 289983288 533513869 376059452 422259775 176515266 609079925 936165087 305517031 763244186 388291473 319279909 519246663 217365425 361806075 477894720 172716687 688031310 455822833 337185058 868890000 663344315 515564705 692152721 665246354 228913518 979707507 132099468 975138512 439505060 574786123 219413898 499729679 953585463 106492232 184099936 832145803 879738757 643300589 701221642 402421120 273425909 721301700 955442961 620362183 179088483 711435220 827790087 607959762 918309260 792742011 409309156 871784721 397865819 852563786 898520465 701361830 481790560 693179025 497636828 524232512 555710068 371290749 279803249 188467578 118635409 111943095 372808583 663497710 896043493 932218469 327562512 793195791 117618308 702004799 992688453 374575077 821699716 483094757 647546650 552172311 499884686 948148291 913609673 332031339 899732749 304698396 993717795 137837629 850907320 948816026 741081631 553005525 160398658 687929838 173269983 113273391 583727092 149252329 765866406 885009733 438661605 293904698 765829572 178192345 630340322 438599793 536243959 478209763 121576561 489031255 245204256 488707258 911328917 395494374 818852242 229281644 104910861 391564465 353873564 127367433 475234592 547617444 238624281 293164519 530188732 748206266 118981180 560811399 917141220 942426468 278335808 472968643 243781763 330247927 508403086 262582845 242299229 915092057 241273047 211146499 999728136 155836324 442860895 834340656 930452246 564491547 310615805 195317140 990542880 281561927 775052833 733466508 529770903 677067239 259698501 533949382 684065388 487049359 802492871 869061858 586275303 779275255 461561113 280092405 703654313 809122940 561139999 848026562 921881589 196317155 100532755 493184121 774145222 762568953 222638808 994329676 406136167 404115521 616451863 293541671 660044889 510579648 154696471 927238455 563465941 344537909 744308792 190978916 755652015 815764957 101598051 414338923 697562565 746539597 260887040 873221896 329041463 230410964 189597308 585008239 377483613 629087940 788091642 444008486 456548833 996228696 983217819 911209880 823850015 139053081 937376514 323385696 184362794 740368166 878694755 425149035 913856347 704888487 880914530 833031345 680327617 587686240 778677511 547308145 896055136 791106303 188000969 189439108 921857861 867457721 299633210 639368433 838537548 462665910 807828656 560888601 127625553 490703733 875386619 431398535 844909256 934986123 791581148 971504018 239019827 467885429 428439399 416438067 370978415 350053572 829500694 438070371 410514089 168605393 600788903 984211377 527751994 960994466 549657731 756659907 143002887 630339220 991040869 765920300 855187022 610472364 299167713 399601630 465596373 199243549 401592279 869915734 172019565 141142723 770461292 232857580 323241316 311210764 156252348 528711814 854774073 729330424 173095867 126260944 626477189 488429377 663039548 585146792 850549636 424307686 312234636 772260745 204029001 421691701 952521455 931542291 688176283 387137786 918527335 614145542 597768385 244674966 534814033 895261806 261792190 947793962 793495787 455675927 607516502 444879883 109492159 747667150 232883471 161000190 317159313 349744394 637241921 814742934 821395948 380173355 483650577 770685020 469991708 587239892 877990225 399251201 239655729 808199544 626755025 797000560 503967822 317084388 388016218 549612300 339446168 732399262 943369619 774925088 930948029 153299307 743760955 989629004 778064730 315257881 160821160 951888769 621793872 366642090 334786526 804436931 247876857 785995771 921268549 856619300 940271857 174329858 448471126 493977353 500145401 318168262 358786188 910691794 904312963 935184809 514323015 533591789 955669084 786888305 687924764 965410197 885111247 355276910 800534787 344276537 167000036 365243275 200217571 203129599 206891976 573569421 334914761 941593518 586248155 301423815 474349261 190607397 432487341 188574459 769282501 428501132 741746719 637471923 699541932 912923466 614327189 737187366 103933919 695986524 573036959 998168419 781920196 706257335 150993223 251406074 595237256 543691565 885803928 217147399 368234874 935959790 721955194 673404193 384154660 358945640 564576557 688756262 528367423 495944358 451107173 723796430 986325955 307707434 887680649 467848590 117996953 442641738 133307298 533634370 289563659 397593859 159416948 174585029 292400337 727542118 480507226 778885205 368860418 260407215 478018673 779233708 893791953 341297394 682262220 610455631 237062330 677286732 120656175 700683650 968048020 193872812 426660097 360731394 619421271 131324381 260490321 980520856 157837234 870661950 309598795 735286352 157369975 305666354 674533753 457939068 272348310 136095936 496615156 526817549 507392082 881993744 229602520 405234573 775565771 331050475 632076319 380971620 946443206 706727332 746382505 215130653 611901142 143591249 655153516 191774699 810537101 577195002 876986643 147075755 963027128 388669116 924323728 460637622 179100720 811454379 857023124 254207153 727180689 138876880 631628710 558243676 420399608 399475137 791456694 916353643 211051952 674175652 869223378 803886071 481743224 362143783 882157004 679634649 200090295 302518075 104639159 469087950 414481182 786325311 997603017 513081560 274757627 449246281 475809292 990125769 542214648 107810990 195337075 758555721 150749491 997138189 484690681 623131277 898487554 497522135 741684840 126973390 645226971 583665014 203992867 960419347 218920688 574472849 301550182 341127950 919727529 280949122 896894534 797148741 677776177 600035883 852362930 209186258 410516519 827710621 643633731 622871224 725144191 606008310 965573381 300433097 191388040 551001721 162032342 536315821 843034276 905639019 315530421 530979618 593849778 534752028 922120837 985782189 180869639 537559213 232116910 461976854 831424024 979912684 131841229 191748336 863852625 892681999 959212700 287504538 894364250 456006021 300873507 814962919 277339070 343888049 828370044 724769154 823213976 112408187 908088649 703587635 875223860 742236526 920340936 658490990 441348021 224734054 980499223 196333040 544767519 158608697 512895112 813808683 474104992 906291579 966471853 515180752 267602620 461509984 927480538 826957327 285228098 950413287 885559593 875356455 441026008 458586062 455843652 920766693 359847173 370662849 172920014 171337666 819241153 628212000 287914334 100965301 566397863 105173314 970508247 825473286 321657154 479046502 901226017 907446396 850849701 964934925 177251817 532485920 221545007 308224547 649144396 321986705 573850448 158163161 975317996 930149020 213876023 135670784 735517416 490757492 630019236 519888467 296409119 720546951 228402667 552355695 940338710 965551326 567728252 980878014 784355201 553182259 930045356 535861556 900882324 449505818 535984558 649719722 579003164 683868583 882460997 259867094 114257809 543604650 570749226 734093214 429732865 507209589 461048125 782693502 458854573 186681425 507115775 459887708 538076039 329152815 762493184 348499408 649649617 883195606 891701604 613386953 661307860 469354217 929364796 984742957 169991518 856129067 145098782 151586474 810568544 235936181 425592576 337939967 654922512 351092791 612505356 224768013 255747329 408617901 557276876 114004645 327464630 225860903 425496456 577952307 701608781 824574119 173186093 313627553 671472661 573032281 669286549 988175007 361344176 496022447 324217753 154490250 614661312 925782964 913044305 498447965 252869309 981182653 405288869 399864485 943337957 930165800 826837850 854475202 949577705 889059390 393157154 346713090 426987530 945709471 827513097 644243870 924344689 539143391 746976763 749347942 683823746 856725145 484349175 234815257 375807327 419674262 750542766 570499267 769461222 462331649 449956374 264327944 151422472 691227165 219734517 749192574 682969673 437145589 990044074 633406140 520650104 345739965 396275150 131722042 176316071 950151391 344151856 633837281 737855663 155221678 246688905 120713415 812964439 375562246 511451506 143408487 694820137 569660634 165863311 544850264 158751416 523020855 426287018 706614879 467349574 377892981 411131482 362692921 781085846 674830841 334337358 279230348 644782625 134387599 890197898 873649322 322337158 986362435 381209935 826507465 644232792 710652993 743616296 893862479 859759116 933414804 408480554 586269843 555546780 169162116 929318684 302925103 417974347 364435866 473393800 229457367 554150365 413495428 159520611 743201954 695734353 857528277 354511284 769943787 465613440 366478005 556314839 409158480 669472269 520659487 808800628 653110615 449606681 983791434 317941749 626561711 834869512 243401322 153343741 816183720 870825427 224766969 181021533 404041048 257261786 266425315 774332214 296957414 367624279 294675268 871695459 562633846 733792296 243905994 481151399 289404278 983460837 221406062 641674537 544731729 862352436 193209143 807295780 756212356 265945020 729600774 536622104 333764458 582833673 578534240 977685340 565205065 620867590 868197387 683306977 256899461 636983191 421873625 640106625 333795659 411998977 271926369 293253337 390394188 835649170 975336670 911736815 718961563 809079242 927787660 183973264 103979078 457998074 325638087 755251459 650464027 569387059 757271194 405336844 581284593 662527456 320285397 807412044 603755668 633420422 316794432 680785020 426224535 968959384 800160242 113183115 669446626 835579411 633631968 749837071 812329518 114244296 752465881 247420404 184572109 613737499 594658881 961277406 906121824 361997018 406763672 846634048 553760828 343926858 275281219 839760985 769529818 107298163 857004248 191027310 898714897 822761288 672604917 772135326 574578098 414519432 491188804 780970225 416295431 176050644 773952643 625858443 348349332 460329724 260834870 586900582 961947909 120581531 651690451 628280019 376071874 623946541 919985732 596598564 310765122 499037206 143025183 405170086 534962654 579913097 930482472 933921653 789614968 317155288 715440272 504662365 799266654 682959817 922349438 272397733 574694433 945235781 557081156 346029056 647315150 874196756 907115139 491119571 248108591 801631016 758632076 905082348 267106559 539128660 722405054 795190901 733026934 559472976 197224233 258996785 750134423 849692685 322727375 957728962 993228619 560620025 472870238 921752362 398117167 279202165 763766160 608150889 109976874 430306957 506086979 112619551 182154002 336713471 138495936 730638239 810721536 230360282 382379860 908866572 608177757 136164926 491619805 488267370 903102653 329813431 842435045 640834954 682030563 686994463 695215611 443955988 781665734 557482102 368713593 716618392 894417339 286051224 656527147 893419043 858616597 868028961 519875903 707947024 898627385 906648009 259990584 598383264 806949212 242640291 805694418 454322124 800597438 158211506 254444851 903278891 370484214 234243277 748268164 789383796 965039706 570991352 228748171 521955520 911398330 482206451 993059275 245730929 648811486 167561790 314800783 115801934 929678991 750975507 954624179 412606476 294620399 226208819 263063659 747305951 894007520 599035558 413884815 600389131 396745602 245132362 903861328 629087461 775122409 649696153 942274399 654583693 268261341 550029745 473118936 630785342 210696366 630986400 457314343 563158342 582284593 995964320 783535959 300451682 147833691 165019363 841187015 568422802 545227056 155875105 660036289 399299248 286794908 920931982 985297206 791772134 642499098 949618520 860686735 519995493 317743627 971248116 563348681 357576487 635801470 207145261 575801179 905701515 392352046 467627681 613825960 431619746 279572171 447244634 872775214 693607182 547771969 589690191 420412613 701365541 702519650 668768584 363866148 528976669 437805562 207090504 217633696 720432248 252808205 385612193 157950569 320928725 340356982 795238822 580228895 773371305 502228655 649137185 279665002 762803193 227120563 874312769 681935648 101116318 816728123 432276515 991671391 122042563 936247198 997681200 532587983 371680930 684678872 908369282 908557697 489588793 728884421 602725707 631161432 333396448 128989341 347557396 818111438 525345455 134177695 859850872 400708429 246613532 341355700 221308245 640772715 526613301 851062300 621545376 309764309 659043256 786289451 351413503 253330767 807623573 130683546 781196251 417496584 319315181 825364035 716536868 513916109 802660618 503468301 699758781 281834692 881008342 419929755 176998684 822262502 548468340 522888741 760804923 192790028 305272612 109236923 487953532 459845320 201626072 689382714 141423303 239425084 225920061 370964229 110074474 581387966 135618888 505292606 296024658 398105193 208188094 808110133 571123044 708191077 993247247 111422518 202065975 162602609 902328418 333144966 793099738 443955576 737521576 519688761 933026428 477697151 817121584 220867905 627418334 456243413 699438835 944369939 895205252 953360840 242310862 426156963 352378884 432225407 873562977 642125180 163450986 257314738 374370853 661917664 987626777 940924259 697324395 484719658 107878929 870411175 390007476 375880056 206914160 526570627 777159798 704417926 635318772 137409596 501047196 198941699 118346002 205292109 401337202 990518320 877228819 358485309 654461844 813322823 425579528 834122157 838741682 336854180 451559655 216587031 320758783 471589211 817648087 741270936 252475926 634980965 557934140 766800386 103981774 646385671 805783971 496183315 772540858 306595130 671188618 446456634 173912922 754478220 475823175 729638253 349094826 945089692 335182081 531417514 122178124 722826736 595146340 569139650 307815389 730044984 323264845 485253854 386483050 477149413 363363210 837836399 269329170 782236722 490054721 905747650 833691427 319587458 616834415 881197012 402426800 475510288 232808478 833709359 141666177 904558481 380266999 660635828 976913447 248488190 303114776 795589342 137788793 623221475 913029306 843713973 657140226 505627428 665287168 252240973 485874224 763324479 989873963 959958922 958574484 124172743 409708907 734975498 864003995 815476722 564208061 574811194 636005693 698185713 449383285 551780461 408594688 290937458 248871372 850659726 718423838 785974343 695720615 697125112 527034856 921613901 503272244 110453856 959194453 426373154 806713548 452476206 394496623 930245808 637027870 854092829 721428334 157579855 855859781 162953585 331673951 496047831 741145137 936423988 953418666 926030774 619844990 597729195 405286692 468685143 125712399 917392173 703845787 824225402 409151364 317627011 499433079 585501314 248505195 423185944 814413635 661837615 782099789 504356698 551635740 276694234 878264470 419217366 120467342 745599535 715715090 741178642 202534244 187568770 869872642 837477911 693980557 611831037 259317775 846783289 139351534 533384921 332614904 491060695 491326861 586552498 894065254 229474930 188699370 560875177 313963136 782059594 229764400 469203862 167883097 952096520 946781475 970077418 422719426 504990295 932861559 677955161 872347503 518832861 323272445 268179367 853581289 846561732 450340848 225134950 530610096 510650559 671051926 532560488 152745274 818390813 852135606 793767447 982707670 944289750 146550272 295958826 497125392 271493164 899803624 672000531 876030304 227631246 675995450 868832685 606267936 172347732 442165059 387044847 957427901 443615295 592763891 393293192 949456517 774053649 447726286 740772632 729838491 598782052 340762357 857295868 467859754 474542981 682218881 149016431 292604712 505839822 771060076 147344419 427297044 803000634 416274162 594027229 686243403 956910877 116327989 224878868 812235152 793559111 688794705 367838956 938381067 362897178 371684796 953348934 661742820 418917713 894287340 957795359 124154892 165415679 854317377 659044433 813979222 568689309 330034410 997674577 469190897 800897618 417938120 177741374 922281899 240317948 636344114 790023628 359012372 300471016 537617281 443725285 272100732 367183236 282777302 193246704 296354583 200215506 839850335 453845858 121386872 825313779 310363138 685993509 555921887 603790127 626294362 600538364 400086041 741955434 770878310 772644188 764267116 716091518 381213844 131091341 577826416 976732362 899989768 932299625 868546950 431485761 363387616 115917269 984307920 652149650 499971632 272695953 337712342 400143348 186046323 511876958 463976292 163519817 135390276 703617818 791707992 618800928 434439309 143980811 462219451 637696226 485116780 290304023 957294947 875505392 787038279 259786663 241768491 238875402 885414934 589076494 796424851 298371088 482621129 229473088 675809478 333490667 864170465 445090785 571277206 996297391 597941233 597382643 360535574 117563852 902534197 667957798 648971440 337038733 865227800 960391629 353456061 506471221 430235440 346583506 521510999 652208582 856992781 757145991 852328574 497002976 942734576 131696774 447524060 621865499 347087547 277368486 108056835 537871297 573967731 898609527 155502368 801574699 568595392 248711653 654754302 938605044 176996800 247827395 857022233 160517106 997760810 801975181 384109670 840642465 253474263 487299559 931226173 668625673 809578254 302108554 511055886 872717974 416443375 830341741 865802731 415370888 245509292 309409552 249814005 617495890 232532602 855875098 166751668 273782572 867766691 322737610 607778131 186822347 915899105 894607969 415481565 440656105 911719030 328143592 911684336 664978064 651156460 549974089 705054642 649907530 290573120 414118804 619595017 663522776 936836842 650826474 309421428 342874590 831536374 621587273 237026619 765288655 256624020 284513345 357362094 613662528 928216890 225168656 885037861 323577375 627545415 593761716 378550691 931184354 532100070 444457461 605888333 795687335 975088154 646237092 702798304 547231052 262178929 188957824 504583247 899765886 366540350 597612561 570829504 138187178 665714379 217566928 587898368 166980039 437763585 198147749 696006035 807257978 296160251 774282234 109526443 286253825 487491501 100196802 856109705 449779016 119796463 372939910 609494033 230298118 186881985 375304616 249271159 718988778 782602347 709059831 946629918 266539404 692656493 434564149 927549513 895715787 877208441 888802955 457655269 220915692 463316351 244925564 906726015 755713849 509782631 942403208 544797898 159463773 471442672 149070223 404499011 513115225 370113277 352612367 238652892 936860756 349608058 476535012 820292616 615406357 634636712 447146475 609897063 654767228 559775374 290830326 224934294 893631553 448787407 260104486 373825004 544875895 595040036 687179129 285335960 369595369 604323664 755316495 522631895 182084215 991103383 820246119 326138207 354691573 287898587 918294642 393356178 693803082 542958949 198715590 735966218 931814098 868911997 797499910 945089509 720709175 528794362 278846661 119263652 797086044 267279831 510837611 808476990 388474129 608395294 207328328 722908920 757600295 339066212 367871084 241579681 783162335 480578373 837830658 435870244 370770686 343421735 200037630 700389311 336217713 211086167 942580880 328820306 710640759 386733099 193115825 159746067 874655820 512583413 119622183 483386784 390995219 136099374 567409314 804916203 112435284 207571068 917488251 522150895 357686044 910582618 207960812 390322189 949416607 408538630 724592372 505525287 135450200 685110449 890233973 415628532 128191484 561563973 614973729 326572442 567620193 597979026 638555900 178967119 914443356 539488128 761090322 881916577 640239676 853618853 715884213 695289687 737048914 928318718 683546252 800785155 399038993 903685123 420729571 984199445 450350417 582098338 501846438 654325355 287313895 582609167 136914972 160061182 585032251 107744240 872466635 639297831 641080365 584259249 632582448 466104952 441689657 614230677 524729279 359118880 410104999 702810287 956961342 398187190 951338917 408032391 414566726 673423346 667327501 105121021 370289561 710700354 203375481 301243361 991170244 108518866 460803353 477499636 399593276 889508431 969758307 884719755 523671227 489488977 230493606 821135037 645102684 516442107 970871831 679412008 713121322 655947868 407454233 586979598 857273177 138625356 320007938 123085885 846257098 127408577 605031518 466167892 398298394 543483601 991138246 385117218 715867058 444966387 444951033 231840832 918876158 527891032 976067085 713111966 819678500 333726833 868274156 367165582 270825347 246859745 665343708 512090626 740172978 436240756 491829060 729122677 600532263 686735760 768169746 836404500 962093367 842670003 836783342 176316980 597759288 323922118 371310928 400936625 817752289 711517073 377522122 817948678 246418414 711439121 881010095 632033769 333582438 988433983 964563678 206808558 370249777 733707308 306877968 632203197 684893918 129465088 815896030 109561432 714769761 410223540 599184771 852277699 816321541 222620936 428986665 492218865 744433773 149134707 915950125 654599614 174541012 934639225 344458168 529805634 941977388 617651486 598214270 940745567 454328943 540754138 192924364 878902189 369343142 958279567 305694356 127438215 162704550 310272404 864088964 478119799 744061806 784061736 571605259 536389744 441187611 942308324 472894810 168727490 271467608 569454374 902260082 286650305 446481073 197534209 814729490 461949280 117360919 859904513 409977170 128963034 381786474 285096970 345638777 455243653 917628499 762162093 884373698 479032935 324481853 866481122 633666263 942912599 153259530 311174287 419388493 614823671 187315305 152944754 479907626 463408519 679846937 557055340 799722848 902045633 485576562 376383878 902549005 873209846 272640978 163285230 813454773 384010450 369065326 271247425 789134629 481514262 730878205 401948003 550279480 158828460 397321307 952740431 239326900 855778610 279135700 304167677 917152511 731698562 256171662 785866623 787158249 304014882 470384840 319722060 489478417 745540386 927964186 469716793 432869777 107861306 203248635 482507063 357861445 994340896 894281465 922359106 773164519 288332309 409666536 615474572 948826713 219388825 547904882 417703126 480272676 144462452 304192251 661445787 153892392 218703502 805520601 790016912 326820723 243394280 306882266 948142850 472788269 520662291 416333504 247376081 867920996 704303895 502860086 853682397 160012589 158690442 441657573 246909404 703706533 593119131 716189006 500600452 353379324 899918953 777142864 252307386 298704103 718627381 208533157 669144435 977378909 980652918 725702970 863067745 832799833 664571380 635770979 170766285 641191490 864271319 962456461 693503896 638202799 977854885 589896230 266495065 874475385 697286083 840712952 320360870 523050789 190572230 857513953 401922521 792529752 696280317 674579488 187479589 561254554 203938528 495999903 697404499 222408877 453752554 728888927 793110153 881045029 837933504 376339385 751870822 990350424 120966624 542443218 115175537 485322926 584064671 270074966 452027603 386226077 589716270 435397784 349022813 243541431 814619070 517456882 272930452 390772320 572291022 200314325 149449652 718212382 344999219 678995127 237507981 645587287 385772705 194990188 415765896 661360696 115898011 784943628 899125961 623257056 118848417 275195537 880700606 970106200 305814019 662883335 494092326 218030537 792750950 213190192 984985405 171854490 600550678 274711621 954559504 226804806 328638394 187079980 439179745 507463584 717723981 672044151 602457608 303178510 288078924 641607291 278008919 615719235 332360507 749163057 800443629 421339815 738066461 986263812 417842304 961551276 761897099 400660828 708894538 624680943 487074959 162541067 539304800 871833065 335806951 198293133 576503690 113360419 781981960 354637919 366346232 659457198 190012341 927017773 798238790 664931865 751859938 512204369 189795569 307793131 718219292 411300762 400894217 950047646 732325217 937830082 892829156 865519857 137234405 107299976 673041122 467326070 325376370 322550843 579838261 174393286 839109754 788554031 681888675 879470358 624903685 289447138 726113368 760437398 353526442 946098403 715436869 872627716 134284255 544055563 627044652 451552023 396616584 741582484 153929843 859426824 618388905 118177509 630983333 294665672 585220533 734936303 635400848 526835239 340674949 534278564 641674759 550075518 819789106 557080369 169295505 411613502 697323217 516420642 810983551 391911621 688194979 378221074 696292095 503027566 968869648 122016558 792230007 993614708 952719707 709329204 280447746 925283393 158051208 763886171 103519596 352932377 747045951 733409217 859008540 510979885 288274726 110100594 223867031 401097677 595321220 127419051 473242194 217749501 616978112 440987468 219768114 982237855 358412463 423875531 426666273 817557304 945880811 790185985 616534832 397654890 294836409 865118410 789368411 805668160 944087526 757089750 566824563 449673846 242077996 895814832 497347012 925158148 158299441 838899583 351015002 686234373 461446343 688662398 282146975 148265573 118641966 783619352 145753950 249224110 216602270 837782501 834496555 565967851 580059493 613841011 761531658 127479428 679627908 621196381 627459262 169596028 469127403 608512731 452287503 688458549 282499347 347748291 967173729 716905746 903273217 459729647 837800728 130722871 874505265 233305862 834356903 655425771 405561208 247505184 439177355 335791865 311858999 272854387 297685928 224750433 833562027 426776600 743845191 700888430 493005649 431361258 187469696 692689602 779409678 341907157 742809420 886571953 167995490 958353853 243830508 747624141 703460266 339087281 704074887 408502877 756758686 716314201 697329338 420453557 679334045 999197784 188079749 399870759 804402669 993663196 889375923 513993999 806297455 985453878 233700936 796337646 129224237 935320642 599042169 488176704 824627149 475188464 880109654 325039125 191430841 380343204 339928615 516234344 705237221 287592725 453763618 934646691 893095619 754197425 521021196 722320257 780555603 840118505 170644056 157849265 198558889 199544151 523920065 428013264 947973928 810580444 676134723 109929916 369023688 916066144 100415697 482053750 112130608 378506139 533824571 347270070 587039275 478521351 536236825 541796225 530247317 909719641 406156196 884828804 540659233 441437612 259332953 628019282 804324981 671379649 332542232 578299539 952629250 631828366 291265434 749551105 447611103 522607805 362000099 815957468 769990331 774876134 875457066 189826534 342778449 424357573 141388108 931491360 143089179 664323331 336782363 517707967 446723490 444160132 558610687 497472068 347964280 482138795 963033327 813261059 925343373 531540011 709102826 358002015 199805217 243820219 206756282 851313415 452996933 348432128 134429135 713002211 976896162 815056391 343216963 443902050 812812768 837549529 209327556 890217192 431467680 863121875 891951750 183910559 747620582 774772646 496885058 798599407 780446799 955677794 176765972 295009771 992564055 756743982 296423245 971855792 677066288 832888797 526587303 109345774 231106879 391394401 557938459 767101714 884895356 594057494 573627794 608035415 495452235 360005854 142629801 413587835 881563922 381338056 683860045 948513320 277747126 928684474 922541812 419903830 996565340 905337920 976165482 834325652 563153365 284827527 894493875 331150067 689908376 198002173 748760064 189120784 286834468 472107075 480321908 391875917 233562932 389739668 449895428 192278587 963347927 533679720 956928250 931234050 804471180 114836345 197877420 535184239 649504204 112475255 560247242 599539669 709782198 283756911 599366803 466623529 301823997 450658819 648042031 200801096 932656439 588496366 826956890 607385086 825688698 969361047 189690302 664628195 156195701 335113858 896263275 149951481 576311973 664635095 768333630 873091332 488525507 403215326 488593810 701699023 992148907 681563130 109890718 617668402 339052205 839282448 322903006 873493136 905079970 799960224 391180604 460378151 378805302 313183886 116065437 814317051 160081488 700110900 786878408 396379218 271473243 735382551 878387510 196520326 307703029 229919974 580008484 619198071 135152655 875809396 348313619 592336709 553914968 528716171 329169288 953058579 610760850 850950402 288908233 805924109 924987221 336976882 522854236 690417980 730425476 361958304 382222426 786772615 998113853 809229075 323080103 599874502 456442502 841739960 931827385 677475599 488340445 362604415 306123867 364062607 796292407 756755460 274123436 177385269 715221546 705766480 313148697 619357879 415448342 533823494 217446981 834892388 334505976 975528504 884339236 694192684 102268708 371088321 420420153 368978741 408676461 340905594 208686862 783301906 973058325 232834487 588032893 233330479 513485134 874577608 484423104 559050992 494698475 712197189 862752856 348553419 594723491 810220264 756744594 104316715 839495093 155740072 122548568 591961533 753162712 149824968 566886864 191811397 486299360 746446343 466828419 371637686 831192371 697102911 184671988 693861873 468232953 147481517 617206965 314794020 700748807 648896823 770708468 621322189 549019230 772351200 319527869 446831403 140388441 233659995 597852024 470382443 431606419 371745948 948497401 912935062 800415730 142255935 143103144 100900767 405953108 222145838 919532392 398625400 438439396 221676080 987614610 264189704 374486794 358715482 466636747 239982375 981527816 178131496 430825212 810341732 737812589 724831419 820657752 456001448 290978953 958070508 995650998 604337776 469377587 481930572 231987542 663709034 680239735 493857046 832329624 848182447 126411592 434545886 566401546 927068028 695040536 699538167 911367900 862161063 362325842 630563130 117927691 865876973 858186160 588487817 647591354 172117946 389048375 539092940 370237354 724640119 700080361 865082551 836605670 375731976 395133374 960000441 640790670 130044495 941802311 409591015 721608371 914475718 533675259 184441339 649542519 526352576 894773403 264840895 384903014 447729061 324170307 530079072 984247438 674529451 790806020 383158093 255044222 108682048 218510773 342280585 696283044 968591118 343326171 159463283 981747918 892278202 919346088 300323614 200232786 265928584 162147137 830830352 861231551 558618599 544810575 519131946 349829897 300596769 479902043 194658453 475064694 953374918 872098479 637622116 210199256 995295805 210556282 605603938 815101929 939800173 811513469 976246696 461991730 583628458 316059835 657780102 479987430 815645348 437447358 446852528 229107656 382521246 640619529 758867932 208591782 410242020 882017599 821776902 240091089 377014570 959081766 407928453 524879773 745628350 458628328 844895751 211705283 483730417 525847678 775971575 715378399 714715992 350510443 847410421 249333705 380880031 882024363 351049730 714669053 828123373 866196929 266911446 472388790 995413273 488860548 809547074 341207515 295969121 979745842 924485950 276948022 391025389 436030145 364517845 220634925 707796415 148050647 669907786 866540781 142617654 972554283 421424246 555184028 578446567 369269892 321758991 169585435 323551258 413286611 535664576 652937557 541803033 869456802 520076165 755793815 811195335 141533234 463936503 805955499 311232865 493264568 263548041 886675437 441668840 304923335 202147351 190649740 453811854 326042164 535229405 150010388 123751246 299965764 843480009 237859112 483597022 157976503 931313986 225589005 590965521 583118221 642292758 603086643 865268648 798390172 619895202 149418943 772814665 283546525 559391949 832123598 827547063 223254464 466533166 584861151 387981922 751525844 742867778 163868441 131918485 994582836 307392116 102973863 233042027 295019614 914317745 108725601 106634078 135258014 987362086 430448970 260332277 468313251 483903430 350826426 321263857 469940351 713660638 720401985 241083946 654923052 142509303 440730981 475115638 820071465 433510277 922728924 253260961 717664356 202443217 384080485 869541524 793213770 140644076 730292522 339707711 463669578 101475591 911842180 923646047 603686636 376030189 800337456 576169605 111423976 790425765 998358346 197936859 611336174 504593872 266709962 682677346 283881496 867219775 652099344 782677584 445945068 429630727 602591731 334159237 141793457 714203680 675922675 690868548 245905628 288007520 507636749 455391367 539570865 146681151 779009333 882048217 204329801 610297944 258918605 810738926 118871538 950217035 464587959 369161195 317991193 902900115 192687477 856699551 237824489 209338107 299102739 764045875 224985428 491060845 886944821 604222693 215781726 400921143 638520035 984228334 774906154 930009019 409402459 794504000 393366642 818091150 212136863 812774368 450219398 160075588 274344994 518773685 120427218 229219202 930856578 385737882 863129527 460020403 704860849 323960326 670316534 311952967 385891607 277257531 334851696 454795176 324333805 263321288 414586311 244782285 538652316 937524466 197308912 215107437 976360004 410703678 993324352 556547702 176178605 575616054 809519377 378227210 879506434 599438605 111891245 757371984 221328002 324387925 970056948 307619830 460698913 830090230 460903420 668576353 153470547 135173003 747043091 191753464 134863564 919053023 979028289 591738984 255547679 489313488 890375611 999692170 215652566 463096547 316900389 958839954 497701129 995851431 699836377 356637863 275376817 468911003 821607622 575310666 301048094 849107596 281453001 627517416 791581560 280689284 318652505 878249995 630635125 607265599 834867919 264888779 105044358 378814643 266046971 196766392 648059940 823527954 701678431 308713985 806428554 350338270 488169110 484424912 645474844 463841262 497852931 332832221 561300909 396727612 972824872 500997734 298217202 495838797 212237488 912806017 906992389 391491917 794054067 814699706 684478947 976340965 872647263 662257064 565136674 688566317 780976631 897945131 518866845 820205170 662892705 967097749 630485136 622201482 272709986 389841896 522430606 820504940 512205209 660413586 367811211 497016837 465757892 308196330 748746666 596971368 932480819 742366017 358951471 756581565 516687473 611710094 666270324 983764158 913038850 383043328 459238061 875301483 463578146 755860925 355281219 647078904 327480479 420837833 861976780 741595288 752643255 456389930 279578425 221615471 815624738 574595147 346204188 952779301 258976463 259774285 869307225 607899133 470248174 254428336 923322655 338789850 471444691 101633770 411560207 279145575 618814673 108237835 559381465 578877453 524145876 899868231 724848055 866116817 154214874 487438605 415911436 473624206 904418103 829924299 966876676 568265100 712434034 949020767 425417609 749382624 622750749 998997505 763902041 891188475 866591802 965279436 872033550 240665707 275355053 251918872 592294114 379939911 485551305 870738448 301595657 630440464 587276791 146910149 796751054 629795468 254901637 513441356 689810180 941848714 199460746 874523214 275867152 919586026 454387642 664849046 862825008 800044532 320789209 985489028 227937087 966818031 640788537 621867766 546595612 289492446 396071287 215684536 615340667 451400402 424560324 638469914 101106636 109491880 457447360 755092946 541339358 870161952 114434507 936831565 306721793 737824430 802542353 430137009 557172057 353484326 672489917 926863546 504566336 384709740 652792448 592004017 506323819 987384918 363184736 649601954 451280688 843458404 201529895 452701406 927308303 283930933 949900781 131781443 542277959 216554302 541449299 916993026 827850450 645131209 150483549 735702972 246090756 299871183 193661007 265052253 431730246 950267507 662190914 508873211 789146690 632893710 382688063 903159005 483975954 796131647 547598193 656110071 374313156 605767201 889328316 715644961 704210944 854112007 603572142 512701768 904703275 946815794 608207502 596930767 492914906 662427221 683151371 644544737 772399936 755562958 448656491 729333958 204087229 834350644 887385601 803194824 320487406 164138921 286189768 801315736 453628168 899021006 631850806 767769840 871330458 360655239 449904044 640430876 550426273 459413495 698335441 101610482 350768981 697720177 613870822 268845641 330591563 196787143 741956687 302079785 113710638 959409571 853681859 818458171 976663276 121928739 189947569 295900271 128885434 221257777 570169385 851038016 355556895 920861611 317842559 102922244 394739298 754551192 288977724 869698162 272060727 514798971 557278124 310307588 754124441 753879241 610854025 292728650 993346715 632553428 406020517 170683320 836048575 497739971 303670850 542301211 904929100 380436020 403067433 500375155 344890155 146367242 502740157 867499747 214377037 649841560 254085039 909504816 441121491 648017352 448469753 264101085 438777444 220111890 557361427 756307148 964736114 307383475 278787001 519546676 365089790 260298232 202563721 140828145 867687176 985673356 108268586 844580942 636111281 144819480 132868476 772899786 277639076 761903293 698502844 840477209 524882881 983937972 355195686 226620424 329437344 995706566 815746601 538512756 274914411 352750276 603111116 595180596 208264591 952851753 725769493 922308484 224169080 446956771 420727101 531852243 308036287 657730066 297287909 917966115 320553469 251862069 412832444 482639308 271358327 221043123 534733468 582975660 152413280 825150983 634032166 190449787 609649735 343248555 137226512 567181264 276367436 815648304 300810012 818926541 840327078 937588917 150342283 541699630 988866186 308391246 912723954 880579739 145690223 105790611 272006512 770812871 215542240 545188257 514885213 564454511 144539753 180932374 335050020 278106971 733441298 509889944 459591561 893065752 841753224 987524912 347307779 192392045 781604891 162148083 201920420 927472681 351633371 452328991 705135284 539656987 695140462 234956054 913518611 367601423 288273016 477116953 257819022 708148184 252853825 292111413 802243192 292722100 372331195 378719772 478566645 456809414 236780789 827367385 751914930 442225687 658178533 102549113 172357906 304011583 394309624 268795391 722643088 958067581 751341520 115141828 378243321 947281840 557194173 747062229 355974053 728781066 925054617 718169965 565349640 715882182 960432612 794497810 256799674 157407701 986277625 747800539 227851150 552036194 441290691 669290320 717854809 541519172 387489293 264440497 227067951 219156075 724546854 925708728 819913571 860612744 411352414 111777169 535917662 641299762 429769401 829605510 315245100 497082956 916883872 703553202 571721076 942517818 895058305 145149432 284676008 251504346 411344995 931080851 253903550 191223961 942824874 113751485 916609247 920690365 488868469 735939542 182763841 923652169 501368095 170216436 993485388 509678066 634118426 720281856 282985244 800936070 713281346 949924140 412380707 498531201 823503708 973694585 235923928 207800498 156990877 852186717 470772349 528077715 894278238 179745436 326130099 782301621 835067779 742823042 694286752 459976993 200152917 977763608 396334645 414575308 406191829 319488292 491019564 265838846 694282969 105600621 384683134 738156095 727705186 408527620 444722092 761086497 115992629 954827819 386320883 405007490 393644034 786568507 311760557 658611439 225177585 305680632 130387769 390611821 703664344 872091576 732341343 604508889 825124078 350121711 549450703 916098035 909467905 353773471 753183977 445051894 605286586 601553950 211530733 821267907 454140885 315590278 559236727 928458066 456031001 190915134 844878945 100635189 289416014 144458261 446673970 120697479 194949753 919400595 562788430 965630321 477585613 640810075 899613313 959653275 395061268 486939942 609689003 785596812 366828396 888190734 102065382 300949092 702470736 670936136 716972931 553632939 286291035 573078830 859753768 784904281 873418362 156218318 420155248 869262467 585941085 734601422 432539654 683922666 539293289 244863703 707032766 550838257 724461226 355328501 509726626 818133738 444065597 786108264 208909916 959347178 541003283 641217682 497536734 286426283 720198187 574351243 244268829 678240941 192505894 858556855 476368406 826305762 710460148 552718722 296228263 156806420 650309612 698905422 986934951 571946635 505488941 201966918 799220764 505758198 289501925 782000274 469200041 407326631 594574243 639891450 887283596 650466516 271283235 901475660 486887442 650308726 660584913 745005024 413850912 810677336 624998712 189559200 845136072 143978091 127026233 318481310 968322959 935167153 426718360 465691160 779920415 700716305 140199482 450078542 823737074 394969342 719548393 651831079 320472616 319134555 671842971 839547776 713929227 572577011 902369358 701224284 637928503 143131291 743456097 905589781 310809170 189441441 575754990 696882152 586815964 745345769 956205630 704871775 563562280 254592382 750711176 888824453 432405042 801385214 607412895 156537508 916421803 113175428 158179289 326642416 545923008 861489749 668603346 312674028 138351826 458605486 487961876 797895076 896409988 906393526 365838326 845830790 821474292 929870392 178714247 434701108 160575992 166748612 736429924 755073733 902858924 235552029 372633886 257252518 528658946 157801761 755285634 799475591 497308860 836236463 727497563 618469132 745298223 290982084 767232982 517409373 497086428 796512628 767658775 201842719 688857862 672204075 735991753 631207111 656579640 951948835 424591888 271336557 965244821 843062404 791565293 200710442 987640409 413791929 101345002 321692333 617333602 816608613 363555829 325148204 643151606 628860306 955058757 646760616 246766461 166263817 155188731 471993142 752314947 489180221 232560998 341201173 259833200 755190772 490639765 806864115 250614629 576495377 940275107 838430869 575540999 146771894 956900169 883001354 533822791 592950325 178723939 391724013 928281000 402599251 622452816 861925092 339565790 816491467 642039097 159779187 953700734 671814725 702608793 879990680 378030137 479626063 824679619 478044987 956217570 497888325 959269457 263694936 520664559 817294427 533392115 352835732 594100991 587859760 300601982 223394553 748021432 172235258 187426520 447829931 850688538 531195068 630786829 683479571 130669861 190724504 292541482 369292772 173584347 170897959 294046585 425725234 366455343 734574840 995130639 173971650 675640725 240616222 335994863 419367649 734742013 885069864 113970566 979684523 280397402 669180293 136607557 210597423 748804260 713036124 695923182 952760504 790985573 362960522 904804874 588276486 597217168 673028756 557326258 853322351 836876457 849528086 942127540 923564279 310700281 715416312 921394799 839635132 793826799 905548693 189977537 691018821 912090919 396616371 332871013 925186551 228279948 775457216 503817335 388684898 349038322 385906171 330953455 460119992 390513748 126871873 104897276 560383770 100377830 356970094 129368146 361464109 220059123 712066285 647523001 262575425 412760178 128403965 895780700 363852084 911497484 987172334 612475641 923199085 336507551 358292864 816165766 698973197 430948376 364335226 158406037 560053967 887657355 671299953 149728573 579235351 968307983 492308159 496781505 218414749 769210135 688657801 184931999 716434333 935509168 331324168 107601744 179773734 410362869 530537384 850372337 981786323 892509865 276268350 756357698 766325636 507797406 272399311 704774912 502585686 639565152 817771163 368563913 230793094 892980561 352299094 989877423 192604886 240346191 708243775 966241935 156935097 478568290 108140597 989921374 910429204 145582877 633367328 217114442 152549179 367115291 535946413 971481493 974585007 639099120 879086529 136610136 719376527 595008473 768342222 262479076 581029566 858397197 652490153 274233462 783091067 735436745 841339015 275775049 209177162 448335218 989511852 977559151 286065962 150469397 958148410 968118679 974572080 784684964 606154924 965577202 957918894 355536099 672926356 420388290 297606224 966824713 945534461 598190555 333578768 385931884 118350649 186462252 227086849 318177311 457381722 324490036 749699592 556380363 618677967 113056760 537231517 594130739 771543857 647162323 465580017 219657596 856931837 637380612 658972611 962462130 964140345 136054669 235107789 775918519 152338653 403502780 204913942 148414272 810860038 400611410 646140275 433024285 668991084 824663743 563892462 422021884 127639583 418250798 698685767 775449221 579980820 863547813 216323573 186276343 329206905 636561238 617340187 120975966 496866442 138342858 469600086 408380541 494140599 209477642 292849698 155663639 145602642 867215718 445685321 927868399 339764526 638874893 921544610 356366921 969703386 844058473 466345369 692426213 861447183 933967583 360599442 271331625 547346374 967695579 535110732 755495164 217548304 236889812 212898774 797193207 228183363 543074305 702976104 591220080 350958958 876246107 107645836 880486881 614314462 206043624 732896980 307320724 705592211 138570923 727922281 796145246 681807162 123194790 939755375 508696192 860368429 746275382 498953286 815490188 707551953 170275213 895494787 255108854 431343423 287351067 130504324 835599551 439344124 411322969 966846733 279099342 290434415 299836283 768672601 347631183 875042047 357452136 501371994 236328574 679909405 764368924 236881260 911401021 939611636 654977506 254074183 386418073 543132217 549449941 431531720 201776159 260687361 326521135 479294606 174151535 565244841 150897789 423672980 213440088 685716225 449946186 662447751 881101580 662786131 810551025 980247012 763423903 816977260 758426792 495072477 533235761 113173987 326006957 629725135 285593526 118334627 793839251 197728064 899864088 323514640 155504797 845062294 497529555 292525379 256127586 678639687 853712622 563614197 314824855 858513411 596904044 185494974 443544110 782767778 639075335 233219795 140133166 776987147 328587611 550807028 867083944 310397849 823687260 229696525 297198322 576327062 294329687 832819067 981830331 433182294 126538021 645080069 705205777 773885264 241095880 615745319 657965633 125036187 358963373 825239486 994367956 688433935 139262860 728974478 614715618 144037535 124315411 850834761 824755619 419620861 146688134 183726128 942126897 722636016 404254528 349119869 329784743 199883691 674870598 768222164 785275778 342986601 938558860 651652972 714261551 456089199 848734936 750090751 500038920 237236297 531554412 679156177 180591150 731002893 918641255 132583777 446904592 522675261 805303030 540613543 318678156 593845538 400483005 304363006 173696508 550218208 145272326 990619957 198255406 445751138 303200829 830683029 652264012 512880839 784436169 146119476 123075279 142072041 937650496 225232748 816824351 294495576 534101044 951381032 347815743 891126122 912094823 185010825 285366383 195039516 500572315 799017028 669795772 903481781 557714473 796574330 181478270 186929096 598655350 245538228 725866925 730275055 546059144 109410647 502806954 600725776 833158519 184959663 203399735 758741270 610113249 940724714 155036530 473551183 531673958 183749406 684885180 382475465 127998978 937293309 406511028 649837797 535281972 189105315 417371617 432480183 786616558 405719875 780432461 370468105 658095693 625396908 225709054 221593379 753554823 109498864 328591209 111444712 986614008 156354235 446493877 877463898 334981622 461554732 556596556 361037825 423841454 590933055 964233618 694857574 498678016 826434096 179334278 813230110 990152133 310143661 640420964 374928007 615865305 589310062 999004635 768916261 396349502 685307400 312452768 329653291 310749489 416392039 524979244 719035878 113164366 965477122 826717164 611539372 513595247 869936334 730385727 431176537 805303067 157245240 447538387 969522304 220581265 194962093 448755876 737930769 437079468 826849218 972543120 607847597 976174592 596477603 682938744 339581486 299068342 301455585 892263163 784636278 759366621 628627968 999246594 250476395 879093266 658722251 143566026 815925212 610519801 222455908 806121146 679524031 123821573 904450182 916006785 742847870 899616924 775012250 684607485 668645710 247086132 894805659 439414244 907684324 673765119 539105273 360683359 411635297 651686697 486722993 892400173 125772534 451751054 552195022 573212508 463166531 225994890 304312847 337219285 800256927 114058373 913552909 796869740 501010872 461436347 545551986 283062104 241852147 850240824 545493054 517675733 158715500 960338113 268753364 268237158 973504149 897036039 773675245 661576694 731339872 681040562 182543994 905388201 747668418 196539484 562745086 749591479 440378983 483571310 657615596 676694726 722338392 872001572 800846989 463715514 879499522 108696046 210817896 293985279 469342044 299702863 978559898 299581289 816524894 141766231 205971848 610862270 736071174 390105992 701866878 585182460 569543519 756948810 433439572 518966245 276300909 537434116 676267055 851754204 161015393 586179665 142952497 103312573 374096861 893603121 704296063 414328257 927140231 953182868 465413045 504475019 188156832 610021128 559552764 814384593 556271735 521337146 596602139 307117276 995040262 627287642 571334330 488730256 325022055 350886130 143573498 868044747 384699926 325660720 958218166 254123910 615258524 317449797 818887605 992485971 644328701 916351949 320255471 821133856 535846111 260778795 729287927 302797970 923793331 563200554 759082024 134158455 330004616 570908239 706187812 840878858 317143448 372633648 782162778 797261483 434252468 862799999 964904333 305743110 679833931 154927805 148454225 373090146 317622309 488426504 804983853 866539309 583420513 191270263 931904011 536560519 307786173 959085090 736277383 357326879 301730831 511923401 987092016 683774891 664496221 603788063 713784590 972380405 853279160 354860095 718668007 748807203 430662474 265788554 747883163 434013164 607024259 114856908 683180875 413229455 411435541 946132485 576182979 965837885 770401336 343128409 379111790 411935331 944467044 504039300 117556553 769712728 716728693 204303353 564497956 389865609 599039918 747007417 208758112 721448107 780036773 499728072 856578869 805260294 341961078 995310927 761004412 292529321 863196838 143040743 123713968 140466014 619498564 875771068 639961502 540272842 346919131 661125050 144805782 320939152 569438774 665989776 528542753 715012501 510063530 736854182 514102493 156777337 236318164 508682680 945893019 549786366 799409524 855366242 605351178 251056373 260179785 189658131 265187228 601655647 230389696 246276388 400939359 200751086 957429826 365097844 800065499 346756931 511933709 587818376 656657952 540475074 441813868 333919327 961821453 506927597 190777908 871556113 928779301 150134531 758067416 137843795 838360559 332569074 506685165 754499281 955262437 594384798 898015253 975233750 154183359 522342327 387802125 104951369 783608709 257922637 568498206 494180300 381338644 701550845 892823532 753199310 990128321 433035923 132852989 632164881 519037752 977467026 455556895 858556182 379389119 722717511 116280259 190694533 846953584 650064212 852075904 751737219 454927262 336022733 548356194 355872017 794932132 681240095 676324165 600512117 681711884 749237766 628760887 583945086 630686797 151392877 766067905 324087279 884048669 971010361 680571384 505613372 386969383 134775427 664610308 412147202 812056535 306189241 253553631 271412704 472228425 322372150 556380613 551777477 304234875 877857060 606123308 209386477 759005985 920082389 351673162 655051581 895368163 389483258 414891077 283559960 298091566 927027817 852791095 998667980 257283824 395743576 943816068 473651209 763674917 650206667 323188962 993932686 990965578 266066648 653104061 852667155 943013649 146039851 935008129 637355026 911284800 681303623 156889360 455554671 440080094 901871499 399322404 928232027 114368477 135470369 985255404 687959094 773252745 201893503 299909085 760572462 177773798 839188365 382484682 654895604 973348533 994818458 885761812 486904452 562308901 390692881 483275858 713762956 418966759 481503940 711261775 873760779 187979372 613435777 266898850 410404280 559488125 361785253 127173107 826227514 454623524 879254239 155905691 397783269 155333902 608043082 151613211 175693085 919528810 438397673 944176626 663406559 614976743 472942887 611166086 472372282 926553402 572197901 285440347 297113593 265564211 676086679 357838467 620590553 575660127 828987800 880273608 303421832 509958473 937002187 157974536 909438340 296487772 860677563 247153634 141112167 496216921 192176528 366194776 681940453 110338018 858278742 258684301 716319219 401530984 587774236 489669795 369915634 275225001 144694762 858837781 338698419 126811269 116658972 662441184 655191744 258453457 274320399 593108601 642729984 986782447 976143990 985564476 851932154 460743014 277312152 930469387 207415306 555498861 212911968 110790865 500808099 542222997 458413591 515781393 756843417 399761482 748573398 873684551 238750603 810092662 882716010 211346249 162141488 111400500 401760871 420430873 509226431 321480934 887177280 723513154 429541716 547474361 346592166 355699401 363430804 836031230 996553722 408805287 448804084 163151094 161937647 381285448 837167405 876229765 570546219 211288387 224666216 241094948 694370004 249019379 336332576 124521313 461818987 524819507 497102746 911641222 765647711 632636031 499151608 873167319 767699885 593117137 255911545 741737166 905248204 897480810 781702224 948702362 176454578 326641486 124397538 708642069 274103179 986640376 690482883 929897409 918806658 821684871 732033064 886242587 905096498 596615529 221203092 346716349 776050007 288856398 529963837 203136740 724421350 213828970 482087397 711138614 225955510 242855453 953692454 317242640 272799961 296774998 883279299 163082783 118528979 347277803 831044412 954272931 736505251 458659002 837131289 102208399 698400726 163793276 532670428 790354521 910918360 426193629 343789596 931868203 209817627 384789610 530383359 614489775 396944962 648372368 102221136 162005891 197043872 902031136 965920995 835701449 500274869 752076706 861579351 847016602 607890933 392249879 376782093 163935213 842016513 294476132 762196630 834413761 545058111 503517078 408658602 579217748 166138368 210447277 999651448 122872647 746017645 427142842 854310607 651793835 817701535 312591099 997074735 284493148 429335782 431641055 653511702 902227496 928235616 838689199 685295071 254757808 431656314 124856308 508804165 183495691 492989177 997343607 404559462 237638407 282700140 595321645 499020617 606301366 179483392 826100590 165224653 535164482 498370933 283674240 991397892 530732004 974708144 681194767 170274860 230455041 302334228 342663038 562812047 717839498 340037086 906750939 807813323 643287555 913222234 327979721 586569950 481897679 295394982 228836271 282456636 843192014 544040683 570814166 287043936 754566969 328342372 969074012 694882356 473147023 707581651 533932542 230507134 572773420 447986889 440786678 113644665 195399461 482339118 511463517 142334830 915858892 668793611 369852981 712508798 580719257 388783467 765482233 893471371 618027151 555217883 883663972 398336358 810869235 653554930 938367099 266476012 190382521 400221600 139733192 148892335 912370758 399188039 888851621 889269545 525682120 587391444 310181938 683526771 583335417 320903755 489598622 158738871 826755027 311477295 684137368 959392629 735550962 451749302 302665881 540964468 962032606 106719911 545430322 681417414 761407934 164380986 901866915 559768465 336616401 288054427 610759561 453347184 138471367 313846515 471438317 644668025 985226464 408061799 476424949 441104472 145229342 141521560 249390647 877229368 213018540 235059542 487214178 936918655 745911848 831914991 203345927 636421794 615272787 319625526 992843517 435183591 434390260 390413184 192911487 979688828 319240373 983607646 639186758 192344463 337412941 349734941 359252334 810690365 219617612 737228833 264331519 759270378 631132541 490787323 598412454 858034495 702230907 886779235 461812392 229588597 130846789 227534984 927802776 658969029 243702818 129765144 652720581 390834043 771476853 602215763 592690185 159209526 904368948 613779097 690833573 610278881 532946098 414868918 180541593 892173842 730754402 837587119 731795805 861844550 882894220 442182892 155709081 610117693 884331169 990191408 161877011 184928509 419328617 900318750 945779122 945566849 901652077 697035477 912433447 287252153 521603149 523061503 285836616 859938536 418873085 665502359 353066604 519469988 959375392 593942362 564509357 332988389 682491965 103323517 783523729 476563243 855266954 733243372 270112299 301272495 153226379 580626406 796001358 275235513 716974540 514914396 308442608 404077360 302018676 425905586 456612521 268746704 871885648 311227178 485063243 579599331 218441525 541770925 246135922 464049412 657131749 646387066 681640894 325313051 956504492 158675840 428356447 532034524 503138123 732113003 209658987 447790012 432298362 748156952 585344461 124597357 667532847 691265137 502470366 401624154 621917357 240099358 410614742 473883601 288496072 391710039 834614982 424783689 777549360 228007115 404117462 289704565 428961846 949152802 866052550 686490882 762701217 569086997 791102408 779328206 663199433 194914249 620239413 942029563 995157080 160614201 883018552 488913259 282469012 793693768 994093612 622226889 928583167 125610087 609801077 714199275 743637996 870343538 228668546 780824996 876170288 770971611 450193997 667930957 385001907 808761944 892249920 239633670 319149653 106436058 788789090 746668939 241904582 186937240 900643721 182796724 739573128 202724665 315006965 835618229 804353753 355341074 682832785 920758108 891254618 851780385 158452110 745656084 960350640 230589625 812131023 630671149 754444168 936591469 810171470 337535865 676558059 846728919 157941489 835044985 553529227 524514555 689790299 350611332 143258886 481096257 207707149 122695401 126405711 995994910 331371906 775233557 869776736 786654905 926137545 348281227 209455051 154749989 992111474 723295243 775540187 191845788 857153531 861987686 776503929 498962510 653257235 412589973 395436852 432471900 291441954 876945002 407491822 549071680 273078414 837536279 814137594 465922405 523668781 415128523 917956778 544460581 638586833 917452123 404554910 840539142 383782728 973156075 822121276 144540617 950496489 736260702 138563989 365948241 667383109 255008696 687897634 963674607 753248455 369297475 416211647 842465654 405769500 870129155 156766354 121514941 984220338 582759806 503097487 373490114 191485584 384535465 428067477 738270423 599591407 225951067 575755066 543251809 710410728 570699028 418785955 703951292 197102756 902364347 480596637 650735357 617346060 240792771 151874162 732376760 454124488 985723350 773897775 658229034 963409777 448172862 624759003 320354179 242678636 940991751 149509679 705262465 193835970 583108763 412800234 380030696 913419110 313635704 676864186 834041087 708790314 358560953 939089725 455408965 776290440 343443609 153825231 245463468 492655032 611582431 477335258 330785694 725798305 323980169 576748901 125450403 641304317 347254567 332504638 682393700 166785514 964849213 245026233 755334373 709013556 375725395 712847475 843122252 528448960 494320840 706500072 243338655 844867531 835710850 433564431 642011201 573976248 177548978 453143399 803282902 433322003 136420721 161356478 337196248 838249770 268852300 172664211 746216190 279313825 370038321 105377614 851717519 891558263 772691550 105336649 387430726 202274340 996690933 535251343 500323142 812317113 271417452 969505547 346291276 270379373 726676658 852254104 963354817 930528406 742073170 553068372 971091086 993369967 159067542 807800058 109287415 894391708 289779817 967044919 893146693 678157368 717234305 386090725 647799889 246754834 276096181 400612501 268663886 792621606 623779672 669823164 679371180 934146597 676417246 863823141 859183615 482095997 369376086 940799217 476360006 497152164 547855665 813511142 132669402 134445562 436124759 689240456 277431200 838329079 113231769 660906555 603149175 212197808 405738139 204275676 884222235 746771239 897294433 218301575 312782756 196857861 242012351 865104215 273035103 327524846 501770640 590075319 896522627 278183452 102750436 880587307 509765582 361227868 217060605 175982990 244329316 835131121 853980300 829145704 583842272 340929816 523848693 116407540 955975301 167714726 962584761 346465853 877871077 321401885 691964038 706015605 191421766 350249646 410662723 306003421 861349534 641711466 488972177 874117024 291421366 896866171 511579251 210449670 120761793 795385569 419528182 806595450 169086871 262048766 984686422 345152020 506155133 483646689 577803784 624431493 600825510 411875372 663667460 822922279 117677276 241414826 446184742 771554223 800656756 909868910 452647697 199796112 482904368 168561072 400220282 206839582 580978268 880576923 226180398 553992045 885524580 658683123 371394433 908567514 863084797 259767860 873533279 505355373 541518750 735225282 411455295 444126528 152005431 676750857 803631284 217512980 921862856 795055379 190268455 413726430 721056516 309383705 255659820 336762227 803576676 639851161 764240149 426434151 748792641 905280124 762496790 865728618 898388244 729479612 729279612 778744340 215625440 957963794 527401631 983929713 410392285 140907969 568980108 527848219 628350189 763964963 964438919 571915262 242358094 978320345 637600549 254571646 539293696 818585096 675829815 828889848 447530990 613117555 188654068 829479267 769256554 696572894 369889988 211117479 674822819 117881414 577639996 731372430 566138531 186561031 521741015 655025174 541842287 757256205 949708411 988240122 982907220 519747981 353488455 473900010 591403209 401729936 571305603 610891745 762076241 565227080 504832652 172414758 897350014 111621627 387951661 374160851 415944433 967172420 989079566 384776572 982803839 109407278 403928496 907323109 393537616 866169763 676202012 184064162 651725989 615087885 411895771 370848792 309509301 927241910 618299374 336528691 921528139 949956866 509077980 774520997 189664776 401963884 272347539 502824666 877362846 727661559 210985771 445239664 958986559 912437294 164635688 116508409 538756141 203046832 187149024 261436183 452869774 852322128 896017653 906092540 599693603 980189419 784657308 988630385 360767939 798553779 615652284 283683139 242914527 250991617 900361879 779174796 766280192 634325667 575934175 176426529 309961210 150096454 815484262 525074197 705278923 695948390 857973504 325570711 146334038 315767046 531552867 201213434 227863697 979411933 569767370 392737891 888705014 838761608 648477580 246893602 709701412 298082829 608799101 209857953 478139911 443558762 947267940 178441411 233041301 185377624 784318467 729557761 954736376 733531711 596648974 387681318 260178878 100040607 427648619 130531277 741212302 641527311 503241956 641965184 335858623 149875857 568495885 958002449 758086755 405803779 499949014 208828266 713848263 310989678 555630557 832040712 753173600 408675587 549148018 961854738 583055732 812427709 364514267 797383365 619850396 718155401 249700744 851906522 302217726 528859548 663308042 496227720 624384736 541790837 744460638 679252841 527548158 949838276 654368303 564379953 691911566 262887601 221767489 684770427 101332654 433096411 564798982 341340313 484317965 129281186 301003268 233235443 496128107 710844343 807994442 289407829 524435223 316299956 465150764 278239086 403708966 162346579 401663524 637763901 850769642 348354206 739292128 136248242 652850097 689822104 965417106 532955064 491198298 117317196 936202790 226447275 520229136 545591011 760202163 462931762 107564631 126478397 357364033 721758444 548484503 848616784 320205962 905517747 864220675 225344483 877727372 409916060 361269571 774421079 358064811 196562851 630410772 876367301 348906841 318001595 267961147 804569269 903617519 532044407 669848373 407705858 485985328 908831865 561059519 777862546 257685863 145013804 620967621 574217910 962617683 140512618 966508394 462385605 185522743 937106133 354152109 364675593 577194424 493044228 852106093 242397339 483183547 365319772 467759294 415096579 493083211 752188710 465548894 147155122 268581184 834591209 519435294 563585049 740481373 445721415 844939409 844122631 164030404 144266664 777944860 705648732 450045408 146792304 324022012 246259798 711394302 521098537 328521125 522616123 191780823 897501206 647436961 790779256 390379545 684912020 700104551 853011273 984729778 104220341 974495624 862120842 786619435 666095789 749055073 808603438 420771080 188691013 722014610 825268386 242008373 356273907 860673299 646453226 407451084 341744408 736732857 153705680 759172695 506574629 619637919 833020892 514446413 989385342 466123562 299851508 322001213 453150911 514823826 446038148 455220492 524224694 148626062 943156327 518447694 272901335 366316940 453086668 982938371 775146362 470498798 197017869 560900855 437833146 649329941 833541189 906466372 966337750 266925436 858822775 818529493 268083743 808361138 517898944 162350515 931059745 377201395 787457720 313604805 199560026 991643264 180631178 401637248 671019617 477996518 586029704 329058801 877435295 406302623 663908791 581132443 411453113 474153359 122187852 672446281 192011480 237749484 127904653 121638013 200184450 220939646 642308866 682850860 296326949 487223208 657774042 985642021 297694004 900806380 234690619 304446160 768514581 680729022 393977409 776526816 545199542 564902172 253303783 389945819 354282374 774673073 266768051 174541288 875246358 480614510 233085984 240023265 716068631 806971827 375574487 307028170 456406214 995748197 537288347 893009385 200581448 224955255 612274716 487769323 158379942 737072116 935096266 624962137 685955158 557768134 801388778 752142870 398358953 602215454 133024504 272936336 654403958 582763518 602063259 288452357 684564891 418031735 637783623 859167602 298855985 158652857 781593930 620683827 937018067 605905002 114074728 263158309 717235289 287349913 159472777 869948262 511601614 944170840 188167105 507611750 606849226 184207017 945978002 233088269 127774387 317573063 908120704 902913916 318440917 141466171 670607223 125155716 922292389 677455382 145147362 735602288 660253715 502230187 194758331 762178014 724663284 759215804 568261498 957454124 437824200 159146883 312166893 105728783 545493983 199407782 279191338 304625923 221340819 701490930 771416828 254682978 591109508 967261369 846912829 651203507 640845295 697151005 524382685 512184781 257996448 683731832 160597542 950322666 705176792 734454045 687724466 890045652 522172775 209576331 136883438 671282652 734942625 108710230 560352449 619588780 341115827 738857196 418866085 812422219 631027900 124253260 751032202 802540419 626610044 379200859 885609980 932484206 380051768 821618820 887818440 531448944 728178450 500300122 562714054 808156426 445913136 100940574 504143616 236439428 433785703 751670694 742316182 765342296 999619735 261443584 645664065 442472985 726473145 162271183 703365316 201321368 219811016 508188877 391586491 686176110 839192005 126728149 151015728 220683181 736604395 213519288 167573037 445764088 708888574 259476042 411016492 626909226 590632359 804419083 346181291 631976029 957036804 934750432 470454046 698399764 609492984 624931997 260407811 624512704 857759863 626595624 760188278 646995570 192087694 274265392 796122714 970173964 676068477 800197294 443850886 862887925 808273048 595714419 551679222 354728148 953713145 549396116 776073019 639006303 790959505 517438145 529338040 681610244 289966271 431620979 677379776 495122377 154117861 198034999 669675785 926242562 512063525 185381737 394232376 818676152 972793780 147503332 343684287 950549442 342585197 285068258 862562388 255005939 911994647 754680081 136426607 379787388 265286583 515585348 344526005 549239273 513384830 756486962 860729474 333295685 200121730 256350360 283466232 847811819 417136499 853765942 663504556 602227048 826442970 958241520 969319449 170689606 820362218 720345999 218411193 971920795 836105777 874595639 308777742 288151432 947852450 249836234 934745810 585986081 565753194 154934757 347299533 565500937 717482683 350133321 184567897 153033158 861238142 475895001 332374074 120291127 635336487 682510937 242513601 524851205 214595010 810593045 484913787 893435447 145315845 247248331 686227877 649615483 764879138 539753070 987053444 511207728 305192922 874281858 392676302 986437380 382651007 423404908 336706975 849498519 681578009 796145468 668229561 176531900 671463791 560382364 664573715 597310513 190436005 148918939 382506851 243886692 815271285 656066666 153718778 609228707 697713228 813905202 513048255 304317232 328044840 231883957 741351399 768628443 394784763 756437439 256286322 440012518 416718542 538965790 680909436 718117940 653424011 573345051 160079897 649378388 359018217 983468784 698474695 269029740 689099203 984721541 780198850 655648910 648103547 181993591 405559313 875228908 334588634 655801256 579823935 871352519 246566779 673106124 512147984 912223922 326640876 176112269 279555212 194593460 167214598 725355029 336439517 521578797 403409874 209996971 493016581 273215978 936472890 504020914 283367910 594419012 296607013 664273979 507678828 255628997 965850669 869188402 386311821 415614587 317014400 351876529 140706120 680282595 122281963 276061519 112069074 142515219 756926130 267726326 380124834 735538072 183523822 114192054 263516827 860722490 287681533 408105432 259770582 855252900 260289034 912216834 986413413 548511539 446719388 574866421 980268553 636644654 508322565 483411220 148966749 590485860 495016715 843902007 430683430 480912131 158319896 349446425 845392457 731689021 763024801 422105160 651012066 468845044 161383310 612419948 294741592 499293089 927239174 738491853 525688911 993223659 724256908 179828678 131210755 926891811 677624305 445346573 247041081 265155779 434845769 285811048 980099823 190055469 343042922 340560054 803263576 517399634 779092241 822766438 444901091 471563722 174247147 533416772 874851364 354493507 375460413 736195251 931005566 868405531 100151176 438779682 300205524 207798060 106967363 212935853 647556977 276647493 165483639 645147322 121071966 607710185 901072706 967027293 588556834 839606034 816537785 575180297 470585622 873670687 959575067 477855943 885249747 467495794 563474882 342053890 713996520 686154629 281437770 259723509 450896204 802088671 214892690 302237047 837979263 988007175 742465261 407589768 110465835 803235377 790229034 578783440 132351367 657658383 173971453 901824409 827341096 709505461 316503974 718028727 618315803 306064145 296074487 416272456 945331205 629738882 923234174 182396574 313872085 826809431 892782420 712296103 419427509 715387374 518383929 822679965 163446360 134543499 291682016 448270326 482892240 281230377 162872494 539135963 885953316 248779365 725733999 167269574 400527703 952738128 691444766 356829448 505049221 953444357 353361554 361722908 639872376 416951019 408216598 369885806 277904939 515624775 168458951 809749467 636503313 762037263 691837259 319746506 176264854 738137699 242559033 541518459 371850455 716623345 204122197 627561333 271931639 502153659 141732441 693160358 552100718 257282307 599923689 995535049 301543486 290427079 536164128 773201254 197347516 979128002 984088254 784741287 765915065 428385322 247059257 751851324 312796843 864473273 499506065 533024029 966151080 444890959 493923356 814742019 537389476 586663249 529053735 985044083 299428749 399500000 705187549 256141905 130327582 586196881 309475356 278285982 145651754 535114020 326685244 954825153 396956455 944126790 297175101 113014411 462013557 887822842 950816368 620010849 492978411 444761473 472088735 419405283 583023060 448646783 961370040 964120721 732410547 453307796 194327108 836366463 229456917 783129995 300441656 196008718 956016569 985906947 235481470 327240066 194276815 581461689 252542178 475109354 482969336 951259697 103966973 119414931 393949962 227179511 558892805 672009869 502124949 210416312 153199330 578237621 632155058 881137493 560411568 404664326 787681548 365082140 309600906 604960440 237723416 250241355 159222291 345499697 231082502 787131925 384272966 613128284 879129854 312774871 736727909 131857399 710667185 413856803 859309735 674368867 256442138 792750011 890061032 848575889 572877348 488840615 851749595 211449291 858970202 389607298 997988335 576653366 269407668 228643815 938629200 275306797 350066822 743156543 137648451 784206560 735897406 332099449 328858998 310083764 564443477 276714843 360866876 548227684 851347475 638488255 463806555 200955383 893293780 203237833 555412074 956146522 708051186 801121192 790697821 667349582 396522969 961461528 496705456 488663765 189481394 339357793 897855785 868251698 823134795 961845477 203105305 939275698 638582448 213179605 823689562 976711903 836856375 224405276 814827049 361586147 187865544 270050869 103539716 417789078 539752053 739854273 635277024 265655278 321789121 841036979 635469867 867006054 341052126 756146422 233638480 771302789 377801910 720287483 856784837 665799143 824809986 756065538 224447240 663000241 999768982 514371219 343952958 282579811 924067232 264860724 840571074 756425317 654941187 636979700 369930660 903432659 318897515 963035394 567990357 234454607 199893432 893422791 102374298 450322878 190124024 571684058 202176843 360944233 919966819 962485807 987727978 712416799 203198387 415475254 195725535 721832482 874856938 632083460 991475560 429620177 888826883 829704966 764292537 439698256 792437545 323499034 533210857 283470539 864696647 840524488 367045664 851221790 694758818 550407274 303646058 678457084 801086566 346283827 625217143 586415142 499844184 174401015 851803030 300669858 954334796 338090657 685680853 497659581 602574667 284524511 224680091 134052564 498467694 513604430 184934751 712796728 934891718 262882860 602194118 277445713 699363998 895909314 889378738 448165955 483426741 210372060 520283243 267076957 201770762 240801210 555411535 598097432 937192192 164430287 712626396 744985636 288416639 307202198 109519804 830695886 696346189 352963412 240424918 611311120 369671699 233227600 162834505 180634199 985750220 338322719 849698576 103409160 599054070 491338122 383545281 310355623 881922831 239932988 938505259 491532808 653949975 217463911 825169358 840619548 969012962 171774095 196798875 296380614 571897011 494333835 331910504 577320992 508790562 922140707 885034049 874688032 135622293 447897002 138087699 876805100 122347115 220478977 951362433 284146155 226655328 881815831 571899563 282444111 295147169 871374729 309392826 257622525 404330581 294789394 805441298 129630155 734467441 756300709 198258853 524012267 456211344 438914466 812769868 371623000 337461024 630869466 256239823 486135332 694702014 788657130 303368739 156267651 777926702 967899790 355634085 422255653 661804223 455380190 104630557 975242566 871123961 177773910 239702360 804107316 874798769 210863497 741725958 131523354 499245397 609619130 238319228 273621094 135694801 918286247 925384727 594028227 614956791 312795341 922376982 521159294 160168426 897577368 744705200 710088312 957512783 146719725 511796224 438950541 736433716 411358947 537634125 761276882 619493016 314625061 590941923 681264483 715689399 670470742 505543119 416528720 989327505 723288229 548409868 735186876 933669598 256746548 939052101 227462347 543655902 668330976 266964701 448338593 818567921 932382609 739909646 560125453 462094382 316806334 450370773 672022369 593781004 924983318 369549670 742578965 471994675 196543117 892317281 300222072 582890899 281208555 205626173 310895300 906016153 773900413 106430891 442458095 451499529 558049124 946063174 398062054 568827528 597628835 784638478 143819549 477832204 325537611 241993661 724827122 890599455 544048371 482049812 711887086 891084761 256667128 291714259 107085048 591622117 424140645 156108546 388304333 162819231 294104969 592853811 562047919 249282706 461443916 552445891 942509564 981742203 467150840 519207461 202243007 168796669 359795173 808633190 651052863 671812202 349342180 423719767 393811320 316408532 516349225 651035601 543364253 831805304 108456229 259225680 348754891 935483966 308402410 194069556 313552218 751800976 512945279 314880105 153918192 890158974 934298728 916494330 694922437 241756035 292996822 780919804 841652554 115613369 305790809 157967283 808485620 499511695 854058962 539682055 946413164 354027412 410593328 347867077 579821419 963638528 237990946 445679361 668161411 381709745 258403994 937487817 184260155 349326521 213933188 588869100 425603903 906428069 976822908 166060399 921937236 759311255 613283373 929862056 454444662 594310592 946230609 574963822 861625959 638107240 539243892 705360840 409919850 295688542 891540606 478306901 635498982 816594498 609097061 656017628 417047187 509411470 641364219 733004155 713031986 117651716 168635688 868567988 842885530 454289643 790955498 140918980 941759763 288344258 731369013 675944185 761123783 796524206 366808445 152231773 475986364 333711458 670917437 976679096 695216789 915630346 557137525 143970842 545382170 452164207 424776026 559134936 597711541 933753155 184735656 934377772 615115180 757952084 933375895 419319896 167661603 639728610 691966890 736182868 274899641 672536420 116338421 778074440 999649937 988598053 170107423 274116704 268929759 111737929 703294179 219717930 632137229 536545461 552105410 262367645 500296090 269999353 410369886 341914011 658343013 907944596 561769998 168137073 960113164 672302149 496238404 779754955 148869841 488179516 194645560 298843272 634836878 885029435 948224038 414580967 155835038 738853499 657375262 606075425 650154025 269565833 414183539 546081709 233403273 620663303 451234965 872764015 653957767 807056780 762375853 583617283 173855000 145590441 600220657 612524793 147811013 845211771 650538280 610813810 279102566 209382664 865655412 110789623 471213380 519168517 604988402 390217340 774010690 885821429 892743546 777214076 187187669 820232456 218555305 815564290 700505493 783870362 385417688 855398754 955793012 461000403 232060114 547529668 333054181 315650417 407865044 404136720 915696474 868851982 880985010 129520633 914621027 181697718 877624902 639983630 208925249 218179762 817084939 699273274 878462144 846007701 516823382 246777419 215328686 823879595 138443073 492093885 811327580 782962611 722562714 417244350 349026103 377279379 922698143 475131431 622131169 243831832 857146688 417792040 252392297 373339007 859660010 285924700 588156335 535987590 904044246 630889477 953707654 219316919 725347111 373290716 346588942 894191412 652765711 489818278 652741086 107008754 835914389 538235234 880659527 133219126 199486661 122811059 623699549 524857975 934828188 833172836 974698623 753392565 845577067 501788933 675707243 459370510 624770194 539512748 699453772 255479065 685797640 246308701 994418765 281260557 727761978 693398588 472501914 367360200 269879275 877205564 820431735 407124324 271329372 716456272 450477309 467314978 508212586 809755341 871326127 392632916 634398402 866759603 925811882 662227096 615301924 847637424 668953765 106477408 412303329 184997740 232380201 144476505 353601702 817099825 409028898 836052062 933529203 835274351 436353662 179411750 742395700 760567479 271718773 867174626 106419382 237133372 725741405 723147485 841056592 553432999 629744580 155824068 398047766 724295875 785968055 969313277 313431038 164196249 719840409 100877320 967355537 906222711 819855934 701856374 293711964 683287001 957188439 638901831 437375834 792746725 717159580 115472567 679338403 508861899 758705405 132899861 142863703 663747653 935960131 520502255 892096969 670064523 312258719 684834898 659166157 712947361 529728885 370127326 718638094 776399407 798675192 194978687 121906757 339556171 322978666 722354870 757640867 914686457 235064158 550391585 305712924 854954367 554341112 909369667 501938608 891363353 506737909 293393268 932679105 580948996 638414223 354737879 920013961 279386870 155524977 711194254 953103212 864671697 893680818 232997747 857299143 267195909 987120519 291042908 791399523 561921850 346731327 754238098 339032742 532233708 315956045 906063995 870354914 540740226 741618496 915440838 837826407 168966457 662228495 925367464 929993295 184726288 965348281 762183996 399159754 682627823 111506323 563204388 207519196 126883116 332483927 614071435 591310706 468588608 755293494 882835819 787017148 316964286 837712324 653194978 529125078 245287520 639259515 967979844 407365349 860362704 610963051 423236138 469353581 626674262 386141089 366666361 575068381 334924422 586584276 558770960 157683591 228189637 782594747 928806260 516210740 288248573 282805588 319772025 266425337 565967297 562979613 359071256 454901862 340308380 469242864 845865851 378974262 340006352 691415959 655947349 446223795 340173993 745517687 623946052 838675807 371935239 247180618 641503757 820085059 721354059 247373816 193882590 140945371 340875700 511985782 639221577 663964421 360013233 565013179 305088481 299243997 260431187 602607182 136898488 242312889 462839640 895659567 212828576 945156206 353882129 506043454 245576262 793239694 917282002 389538458 444031261 781703590 489640148 913654788 475860928 684549201 197003516 238699387 231902535 807755078 775929369 774609684 924884042 844573820 742507151 320042846 977874510 491525215 706871073 294702063 748346286 867866562 984389458 596711218 936203282 351587825 722230998 114341650 130152332 652785546 544824096 848871979 477148074 559173731 139633304 940527585 637473943 116654416 159972896 209236834 506892746 277585184 981111907 688839342 728551407 114786290 242525452 694791528 252568997 734553784 166952613 643205704 597771338 176803254 482120120 833852225 685392982 518605008 600022331 245571879 864811508 441748423 375837370 421853529 586057421 958026331 546212168 133362991 965126831 657650990 382855823 781023046 129375443 746115191 252043371 654339849 458105365 802980823 556834499 451444493 986692531 661056565 910445025 673569237 155712721 840320690 375247738 492638534 196785938 773631285 640566583 636751485 517146425 323583080 266154706 290068457 132970887 343432813 327835713 694667939 805983867 432678450 883405589 286509921 239387571 268121888 849236085 356742863 550816431 302650260 751246622 859102625 702370730 678664367 793340466 695481903 652395000 749999472 869481946 696004892 328950620 377501279 818447365 142473113 352091178 189812696 417187648 462070222 660879986 240768329 225782626 925819489 116166390 404243380 213206333 492817571 850492582 177330362 789867036 712529733 215352170 381528048 304214013 270536030 895289544 822553986 300270122 710320006 673860881 191523952 900415432 121524649 811692929 541741479 632269774 625194442 797276525 476606180 973440357 502125269 896837289 845377262 664782156 635424308 246932270 611899167 417547542 119483171 656337944 276615163 777254454 605104662 713418400 687790893 815273993 584341304 637290306 535129681 438547452 371120816 368294257 346518165 265996862 164986684 201600553 926598794 310216148 476325444 285275307 538968011 988876630 362286264 348356387 428606100 337580491 755617751 589444045 853641869 551536959 950548408 686311742 178807870 479810275 983458253 224275941 100272910 642883957 741099732 187226381 484062991 872797035 764141751 994103962 686746920 180335233 549967466 428822002 634260845 483601726 703386772 801105016 849839734 515571000 468874451 354741924 176662137 138030388 759663022 108620444 863196616 121046802 511320427 496176334 741466406 289986736 347187342 260884541 466488549 638855912 324693168 464841883 637767232 808583006 251735301 159197578 269017671 930610104 727839498 183632940 573234957 466540615 195665164 673697227 831650444 522780534 260788153 972321070 496197450 234389571 478699147 351849843 194866792 879422086 229683301 979156803 191005079 669102949 891655481 521222865 375732095 473371488 583975180 955869367 413284161 232420014 641088279 486818358 271644136 763449881 783036911 580591537 678633353 673692768 545497722 441252811 758172800 275879899 629865026 343526702 403189910 825672540 397208455 140202433 410536453 850951020 805448586 190700510 267179921 313701882 111941051 524213848 119886454 805094327 693852682 229723029 660244502 161652589 893070337 239792948 303243729 745672205 561780255 255619110 637393534 297175436 948053212 990006604 509657665 495345440 848299414 509670111 121969929 258763451 207371195 478723066 303678109 811748967 177148382 826193315 306508167 120857172 968200636 218405330 651873417 182878286 464137153 877447681 392930248 363232206 924999620 227832544 115240190 938318626 903708197 171619704 872985122 834026162 776873073 813724175 169308007 540795015 349715166 105636617 381035536 143680537 433249365 359233366 368879338 917435840 592488971 362441279 975485614 664246124 107846611 773327275 997615262 532601971 176188960 236445501 993917135 906251672 441999808 146053019 998594757 134886470 475984416 297331262 486077762 941780834 795996327 468390351 514468225 466042423 269402932 566799841 439620353 225322545 692829066 570275175 468113084 803047816 966281005 926047697 141662490 473451580 723500129 934669331 943478710 209652912 186386462 588190779 521422288 295470914 349104949 385828886 283112023 509751080 894514490 211043836 892329565 890373996 109610811 180553175 945195661 651186144 396299787 844673875 518011395 934034172 908308764 187469567 334390168 575413715 454346465 453501109 794794552 750645990 412021685 366037196 512281332 857045752 160015818 586687321 827595926 211829735 791856191 331427738 383494626 966911992 343680893 906892502 788290621 278558299 947013694 273296076 159625568 982522530 475243046 351434207 514401033 528636154 275452543 410624681 204280525 247990907 314580206 729328648 488072098 125932298 983616910 761867670 305369072 698616982 723964117 827189502 172902577 594399319 670407465 724744105 323363752 237639192 453368575 185478291 126798080 829619282 971175307 200194262 603499188 329579521 205070001 859646041 354986228 676083893 184392680 411832221 761899441 401421414 452938846 888823409 753512122 113186614 551889119 127966773 278972047 452951810 799882944 887102774 718800341 984824632 278121374 607677170 259603601 941939745 629591100 400073377 689015445 987591938 710994895 353811080 283035857 630411953 593576505 687495772 236056095 235208102 345168413 638449391 526062352 361007172 787157338 881011933 748147979 697873544 706890418 532031456 315752092 644054722 249094288 532211866 793274915 298384787 333150683 443050141 368076445 430118010 238827119 866170284 138970580 728145675 821394096 910545553 821871491 583007163 872715675 821027836 317007834 652197790 254648620 556988411 438085563 518905826 531995958 101550400 547810800 175512539 477633024 252367445 739940334 114073778 172005057 453374314 995208295 414178716 947302513 884152366 774901159 586782140 926679747 519753333 591288529 217571073 847392956 504626011 286750618 128302099 549626847 695446538 796659676 916899174 885639077 658376646 919847864 533316215 278781236 405015626 643995654 606542469 712927596 205148759 523764292 752200656 963527278 415388013 958288786 510507679 969165151 889800268 574742222 710387775 199081669 641596588 431226801 469784951 281825726 141137362 741333517 786855881 652479421 314697875 934883678 917588102 541362024 576233685 764345756 806106023 649630964 933871612 409402927 399356108 827593871 805578672 401006065 466307549 973334014 182793603 190680716 731099948 640251807 528382190 924858428 110355090 760359133 416261532 961927949 232481509 222105981 900283031 330002559 941517507 610971828 926912938 355284770 197618368 200848442 661208986 497585227 264521451 596399726 214836687 156444174 806252097 114697805 328099984 197866738 570382986 825601720 777704373 459891014 172344937 745438323 695297013 322304496 679955775 575409282 182007442 934071377 381644556 792264557 606220913 252249074 621393636 679666860 888181038 694374783 335008275 892345900 393777352 618360995 181454226 787101016 565064204 797301901 321540137 642161360 760145599 259344504 284463622 226561380 388509667 646711321 152649232 169932647 227413815 502286256 144582887 736857324 867280558 648180950 955093374 789998653 475893469 892222969 135292284 870441746 150436210 109633596 624701384 279421381 415560392 242771962 851015499 507507791 494645455 364928259 137258706 625841036 604234484 398650519 682911449 283891468 673071233 410779457 113665780 502417321 945324640 594405701 975769856 766392485 760029050 393615982 823311295 504879625 131678154 657441731 935110878 717287705 216267999 316339557 433715769 761910370 576247888 559824825 508353951 553809848 743435506 657081490 530389110 380771222 442990215 428270325 864498743 972705359 695344685 497226307 110130151 884608562 126716754 196955691 576645517 362520564 986454707 923714446 331854429 751407026 241255156 887383493 471411626 124307040 964037765 401766412 227972915 831374527 439683654 506971502 499371270 466034659 433156973 265211331 689103181 722582250 555509346 973325024 828603327 409677347 680903785 857569648 432423126 548147807 682374483 652192778 279652434 624785242 364780896 130461819 532744297 322894245 129531595 276748507 691312314 139752387 646880774 964391399 864299946 222826753 547885885 389281222 839044683 871758061 772827046 233942988 319381932 583819557 992894260 535206635 272834751 366325291 232605352 956111128 298784641 780461484 686113817 740036510 460718292 875531370 919682097 410295113 749662416 576850493 875493078 377440114 881618570 561384454 360838710 390108705 232284588 530653440 877908991 251147805 184551116 650646562 523304363 779448237 443722027 549110799 227195472 612250171 766851873 887228447 535337566 434921910 395252691 522117115 436035522 488920614 558684435 204705998 179866336 943078188 738812951 634609713 615542376 384973232 118665757 259834779 137249655 254584585 463475875 259990119 885284216 520176404 924135392 973861555 162759137 317630069 523678284 358665082 414501387 432823342 888770803 647600914 357789299 552436762 791937753 241922784 863979516 750564030 299515248 171418779 333968958 895512425 972768240 618242203 660930707 338177138 827751935 418366709 707050445 791683591 446773513 943369953 511280623 782066754 565504054 350748981 841127186 693662282 339165547 656636843 579935280 955042068 126523711 387333834 587744082 589150255 132185709 398704879 797504207 854636568 620410007 380563263 415315123 937242373 783855629 926921353 925156892 315265110 280651807 627943267 554384888 935081776 974436934 632809947 436061733 984166193 531206179 882992274 851815320 139644145 675323338 746576184 831144201 512203795 962315676 593006148 944740576 842773207 516655171 418685745 110051434 608244595 859509526 835530111 857087338 405584130 999155815 676589776 320818907 944006887 646885624 195267343 661124682 910653923 429279263 140519915 859957232 263057680 231103351 256668451 460166107 732856338 396058779 528901608 184383358 953689899 562338674 988533769 256077094 675814572 978207998 508037411 342215244 407679997 740849413 580702495 269300735 773958933 612982863 255746320 174193112 443164748 905981859 755225890 881434195 559058977 831779442 425507096 715532221 385342623 661680114 455690505 806185238 428978308 449839527 727733501 332261745 534113981 191075285 243923277 663990482 683196658 606597687 762833181 277519267 951801434 473782725 873197087 331577251 940582525 590860576 692276597 206638269 929534631 377789552 494477127 942476902 292548903 791598339 644799418 289569487 264337762 350972718 333283766 588814974 305174026 939406548 574010636 648493132 950394124 420040451 271680037 905590277 451104989 532322252 716104084 615215136 587110903 149900005 101298976 794558208 587659049 674576446 195244926 908087377 354753761 561905377 906534091 286406231 429520908 593472639 200891518 191701100 288514381 400518924 519292512 922541416 340704065 976414228 252526553 345603708 596775296 922303740 634081990 555715440 808302837 354443960 234593698 227830390 351403308 544829622 218596009 765268100 216567359 655512874 962435440 411041301 582118084 492800128 216078071 596307601 295894435 886337606 747601576 101626294 948986845 571374152 484245945 986366929 793660919 155350143 546740626 185065185 150748791 962957010 181051999 231583167 922964564 771637943 292180705 664612040 696334501 972895284 573304861 722145409 608956266 932029070 446204488 294705753 409771672 189283775 531763970 991647706 267073778 308756404 184435716 715234542 493564246 379941170 674206028 922303095 751312774 292727642 267862292 865647583 585812114 377435479 899594673 437269645 991219963 889154869 515857734 229232735 773710206 640069189 590077427 887963285 719390986 181689195 930753441 566772142 231699795 639478800 442992513 219336990 765018608 766774889 926766997 254593621 679053088 881231739 253876900 590578409 368954848 507939676 270668436 169607012 408164398 644132744 161107384 303238414 736265802 689028159 150989856 788239605 690627995 788913528 224839842 558057128 685949756 348391630 326697448 891515538 749650355 664280312 496776082 189889495 664528724 985340192 922708331 599800296 313664118 537631391 567441981 278922883 116323509 385336736 750013681 921945284 298559480 122388122 128078251 111793362 577981874 149380267 992222736 973197738 369776945 120987979 111020515 316682915 345378794 508461340 245583717 870849296 993793220 899198035 893685203 733561153 456288183 813696739 996127076 629890865 837233073 184685261 892564529 393453594 300523769 579141167 233762419 775756293 811771500 854194859 945588463 456809978 281643402 232482540 722751858 216680249 245290181 651030900 483367163 377965226 237553144 825205204 202624340 710029662 866838767 374870771 503872979 554783726 391832332 679083035 507332440 866758107 149632455 666912110 543387775 392396594 818301833 989420668 856091788 930398227 577360587 676198192 813983861 466810661 170875246 356389431 517312615 645072581 859476041 396416058 211731746 588360003 631423286 557643734 739684920 425775297 892238447 557067329 645645267 932871251 951275241 613461069 935248670 830810559 471310330 138092869 225738042 938988985 811546532 246899195 273631012 939725308 539849020 663666091 607819003 560865829 234201272 583824087 820984976 544032578 141993106 107749667 240811359 534651802 155842073 973979015 514399171 773289606 846237054 404692471 630478800 710480384 348741295 545994867 397391895 675550279 478214717 143204773 165737309 116549893 516807356 665668296 776747867 732538191 910639723 670405378 705889387 254193411 997664837 336352429 879347963 485043858 504680011 872222689 896391935 214219457 104177966 906823356 623983273 316773617 472745687 724913394 167580628 346744267 569447495 675523171 485923218 523827522 617387404 490415016 645978563 578727521 885118032 645751151 751431284 711576014 972137742 818852565 804416574 872595735 632902679 992231084 513731514 773776912 126489414 373301048 137532234 178711183 762863769 214760745 798180625 603644051 116596581 687772660 344584106 575464568 772856851 972277686 544187907 201692265 931473518 436146222 286466304 340132804 597488150 456935374 981338122 969660321 320805877 156612631 408298642 153053737 841410214 204887942 835169766 412320315 975482200 740198048 843779786 662047711 379955170 511164790 247136666 377785040 178328339 337123371 508047845 859769870 243279408 441492896 912905962 515736282 602133916 154315594 108333121 397870117 687004941 358336551 434013597 413501251 620033865 236135046 752781336 586780715 799845236 115419327 330067732 188252405 215094840 559515685 424715519 333059752 298263310 222728299 853994242 601438261 953621162 256771736 863556305 450335143 797708969 573971501 915951005 897359488 754872810 584170574 477550391 921067862 450395258 134935803 123402614 820175197 530850393 694137894 585845659 407472926 533402071 800962024 702449485 809331259 636548423 379350623 147880269 952484826 411192869 713597917 168412195 597448353 916376971 243428771 909721818 210570120 603850168 279049086 125945443 941429728 218274512 165124747 732590161 981272029 847341490 234995968 760868666 171722643 679164170 878102797 324381755 616887531 570454465 223621972 796477809 597249673 369422481 458542159 466172051 115189899 574541245 579536939 818188503 771601938 495761288 486847929 424666941 512068574 437179216 190968249 367515174 890783369 221896999 615139163 575431079 448588896 954682899 322046692 751354737 584184085 310436940 713732274 275258775 597153672 409694464 938135737 620051444 239324633 746637957 347892843 537985336 969561579 202248912 824809336 878817883 106402683 522851841 224125858 820983050 107845589 929616129 678957920 382059015 399699227 515596386 810503213 507007504 472477725 985036646 471312709 151812593 304968058 902667816 245439715 242374232 199120598 301141408 187717588 979391013 489662689 535888106 753788338 308865061 836843394 123941863 205943426 822245246 650459556 737527289 775271895 975650330 616518867 240481026 604859783 586435268 720400004 155354217 970872677 804220377 579794824 274748189 514665372 616964543 665848044 812203429 311117644 742242268 633335357 435412500 369835294 668510367 565417562 693452973 511630810 830919671 605013041 846179251 148151338 219374084 331666486 207197767 701815292 551624146 618054515 466860924 879228221 559064547 964148541 838525799 707230338 934052935 937788464 973895446 625782955 333295417 252511929 377383087 246949840 590086440 271587685 535523442 782456340 673534204 998731500 171946650 342524724 840168645 899172996 970837218 457693871 722945803 130666769 662786804 438445068 764984848 134118199 428084768 537607663 214540185 320700017 758645511 679005961 808172555 225023177 469817551 464752785 984218924 714121266 718228818 876551493 287609432 406488886 449290362 424326450 588956972 413588289 416394276 115442261 515114151 175876645 852526389 474731470 507277926 432814500 610051471 511704971 268540654 976049382 283500614 144304594 736549973 187622563 764735611 951376094 303559079 869139072 424414254 807046027 164665034 723144712 254839248 451459174 655106448 453842452 386120052 605161127 263047882 623497875 102624439 181400591 798279885 516027417 209188481 437640203 220121454 143103200 871799566 668180009 879020567 814420822 999851687 219817719 613804284 316492395 675400993 150006363 467128973 260415477 788811817 373747914 270306812 402393101 915942514 797254810 895273930 941970298 815547668 590115473 911732135 507999974 739481951 520179763 614072150 408690603 168622650 281982831 690578796 478837820 731406865 355961597 770814733 477788790 326414207 778359028 458962754 792613571 529175635 333521463 930604705 508181197 137907886 515166105 181502658 569305872 136433065 845846969 282683607 640870943 205229525 567336388 961340901 909146138 201461303 964783962 931029274 687806970 525301692 177283559 398060104 861678011 103651167 550877869 782587630 979990054 654685720 667627569 205026973 347087230 175831497 308290548 321651510 222557889 723020879 248471302 685097071 147161768 481748941 618447809 329869407 242682888 972983869 631967823 208612651 762260095 303001389 176077461 215360533 763676643 605826668 643474924 620911770 963014895 866639609 651155595 158690488 492902819 531406899 546342279 946775678 884203416 724347289 564842542 632249841 640646629 744839788 398666252 622685038 616676174 957851671 663712800 759802012 107043993 681346017 306030911 480442629 698278244 267173640 869524074 274544634 112377487 483103759 557027387 813060491 505353525 674905220 336601250 906173629 899356154 680365898 592517456 711545009 830740126 393129968 388067714 534138603 118740971 785870673 420302517 647713823 791157129 271658233 123618697 394007965 673375119 853177611 873205210 790054025 870203529 584429728 159277443 769404416 239069262 985990196 825932005 461980948 186733097 791683642 559754760 809034483 583743572 811113677 145040389 523172228 635813901 579316907 239653592 318094418 968551502 305894984 381088829 443102206 256135883 146779911 405352321 794121750 737638314 400724491 157998259 624288675 284915941 999940647 883717942 730640418 532487814 819706380 910955577 294056233 449535471 718310371 829884711 151203530 302308772 789194077 206465233 871573412 633375653 169461951 334260148 975248964 935146498 512820995 419662548 907812292 516981691 776266506 138226180 144900118 443287067 788521172 512477939 130323891 663375462 825049172 925482489 428166747 773615671 640979091 394011217 730167834 523933147 163727285 416585189 271026562 381546452 692952677 722197282 259687681 826935688 753028899 491310558 473974887 191290790 338316058 369531736 333381356 735401009 627830883 271179694 972511989 775877140 229874785 917152250 884411716 843716216 488931099 816521203 673749077 352192753 102414591 923850814 805804792 428096602 561813623 752699279 328818757 551679690 626783047 322068618 471852345 701660387 985782328 184800285 381536870 323872452 693909316 756382065 878050554 368566265 317172920 942514740 620241880 246606422 173031737 933198933 540235439 705394715 379140885 566613258 217504903 423812703 995544222 315457571 293326085 123609045 269608856 370866664 132730082 686901825 733744296 185527320 986621230 511851750 762193681 629590576 704124563 718203677 397499429 554493327 399204939 967631587 275597405 964953778 659746238 304024737 484088055 380459916 280549879 107961876 870764371 688204964 764813950 336947901 622738729 819322632 286768765 221532184 423802276 799934517 239195277 683045148 144485179 865836799 408009502 313524309 541602287 207157056 263935506 106087150 618566143 416342936 768113251 404795291 301206297 375593965 370309687 652076436 654489430 995906193 655123081 131135112 997609564 977253559 395703771 107045274 195586230 280980206 156307441 817241252 316824185 237837129 702061440 597795347 269281920 180777942 516994280 251158445 814485666 720583913 965197335 524504500 235977333 370010348 529909159 862575926 335478974 797381132 779471885 664088386 231613631 294156452 750928037 126290793 334064130 212076022 910099681 340098008 179741641 300191347 527303478 893835749 990565286 532182445 511021486 601672135 467542039 556629896 233781431 152670645 754510324 274846563 750294135 207075685 706983709 569737117 229599016 669360788 147038432 194822830 801672696 302015124 696800533 248073653 266139077 245744685 812029457 466766809 522351583 467205910 147561359 661385898 710981345 641427456 138457147 507011582 987283298 791877585 609197036 443730972 898399373 572352348 175939203 712877556 689849128 950579297 850538805 997260957 760775144 285605475 932192523 177724833 374195746 714126167 745158544 632184676 459466521 486080352 378717655 349205260 666571635 648742519 614788643 314556487 540561110 152387116 781338952 244488431 979740663 859477959 986468741 935600657 177534009 134310556 138010419 784581268 708582720 702859136 777888745 658019578 333886093 426185643 611520077 977860746 157408654 991857803 879518485 627337366 560108257 567407286 317892103 677243523 487330925 512046824 579669557 462307458 244197323 905430916 509073393 807452205 358641575 460712174 311316672 751549755 208691017 430417073 611207560 713544945 912248159 794043497 559691041 839146599 476479579 392339820 330861040 938713442 306007610 218653213 491343088 906382713 239592915 305405656 694467686 383763197 270886909 757491731 163845329 478355512 704274196 471658817 325768279 396669710 867290521 884523036 521345969 653147373 901549185 690913514 559606236 369184752 769675105 200912221 668571134 623849989 650319930 325419979 775655751 206139737 811520124 955530624 263266393 338383003 343863137 933223796 525729019 184000396 221230863 590793668 995282788 397610494 914143288 228909356 201529913 426092678 442781674 857193310 373047756 432966838 343063577 555994437 697805197 712400766 592033228 497797921 354782085 359123995 385380083 200850878 223087880 310324599 901844496 149589692 515877351 166606260 171254519 351014432 256575834 791394044 281177833 213157204 258129057 183245876 804844758 314294911 260700877 129334059 879346002 780030093 123646596 968659323 782518200 694838085 820568102 181440734 260619050 652351842 490662476 207734233 648488681 442722022 268113152 669642589 825538766 928442522 168373528 394881757 285650604 196679362 382692309 553888953 940611199 510568473 868608440 277898293 582817281 114119183 569568607 235751069 111100974 768503621 981324680 828798742 447797642 605905867 205874750 655685059 462681895 510992441 116925569 734481060 786184921 255730483 807001089 537732505 282481649 485934185 709028360 612091393 288226560 217115906 580802849 125692306 991321682 265273174 265964511 476596452 265958479 102140069 389823108 217909396 144375695 220576783 221948825 279283318 301446047 219672420 468623325 100423161 745621456 241545024 490149069 249698630 647345046 958423802 882668842 977090521 932499308 118037966 941849796 817306976 401510988 720355274 500442605 514745222 651829930 317905609 421729221 485371058 671733987 666994298 325931805 462705593 137007297 339920076 201688032 507687297 135982201 127219979 146205809 124502686 529130103 809351137 821277059 332748090 432172965 334447913 673327706 211626426 176425427 429056127 787692690 898538330 726857198 560005789 319825689 530041919 879308843 415819663 115117980 791806049 450860200 150110897 261121445 645574218 424053967 752290014 527243546 804571021 985013518 920198255 814603592 531618480 917504769 220357089 778641105 664625488 500454853 775129231 997860058 466130872 655865134 868340866 663491392 915231221 636569580 998182905 981008719 726446258 411782464 944195859 321818521 872495700 563446564 794890685 748567424 407369170 969926953 255908477 986695881 247122085 972386399 498462239 291438690 713262808 734719228 671610917 306259300 212296359 476457951 761367723 341695676 209869257 250079427 380686396 961240447 914622111 134927693 980335903 320944879 406267637 601381701 696082567 824964342 329846800 311098929 522503721 570261042 643741020 588344636 194824939 601882242 868399151 755120493 537573313 986572083 829107524 870440417 660225012 231064353 490396831 869528776 495327849 933893788 701530575 711426951 330606809 192347622 287071692 251038873 148155592 453942703 371765270 928248330 165519580 621399386 758547858 535947192 142009689 197176857 740132650 838655866 787540957 495298242 769689446 416373533 268895826 995815749 971237933 936756078 330042929 595995985 156836176 448723605 313353611 705171869 270804781 876620323 580269380 156199795 107278406 508403207 509340874 629086240 894249636 460533641 281524640 635029166 562867179 508557342 501718041 508604503 620069192 179820425 996165417 423070718 942457349 808303536 781224095 325164901 884868691 295262802 610394005 967256448 471366577 348757459 471916229 938244749 858648331 464561252 356034942 172449712 756616585 873996288 306691954 381671844 371968856 615220848 245785156 845871300 282887833 299417868 102340223 668993553 929377698 625744461 740290302 632619747 509795079 133488318 662097216 451237286 279074603 291661985 524831554 890188782 940786522 226781941 897758996 950290730 728331561 676705737 474063266 427871647 398099030 715767924 565844719 249917794 765461101 390582503 882191746 427467116 255620219 667677539 429843021 442602035 885302787 687194684 425812202 185494000 234376221 990819561 209940371 934237443 422692379 223181602 844958177 724871856 731767303 558196735 439719057 672383872 648343587 232505821 696339120 998233339 247185511 130069538 252719139 240019302 521414551 880084510 479113777 810058085 296946223 720188704 340261256 797505694 603266187 399215740 992933986 174743650 868868766 752715340 366040461 987258862 469423327 437494308 944907230 539982103 537811271 857472263 496363757 174499971 463904245 557054344 861382413 286189308 638536661 130119979 307635414 729239910 148254044 426598388 359135801 168773397 170618494 456053756 465386738 833443267 608475232 667350887 487248822 876050616 464614862 406330878 804555718 625779250 729674626 847811275 247058940 112333872 940504053 294441411 430682087 287687699 824060300 926143234 893355863 193551938 200752108 953706357 405140067 867021182 633066970 997523523 569005150 746095839 612367645 634630797 506964771 306305981 164960585 461310297 577096710 401156159 541825299 657137184 635120814 283781605 313137837 350828059 895871613 340145764 475270252 556209584 213168565 822839307 999317498 832574857 928468667 357283427 480108194 845791416 850515437 934681080 599337270 318419699 509411483 917540853 339988913 829696616 322933878 955256601 154987643 354579639 460326359 417215485 620014111 239109821 808680840 401232951 216454534 352610096 715242552 848339931 673320558 874337575 722142793 872282036 368026201 294089991 226461849 870137737 773410418 616236692 898895215 679851265 871543402 813349276 769547152 428117465 587963671 304485912 680534917 207814319 253937017 879406105 822739105 201705239 612530874 153985403 424402883 689152088 848041656 369162244 640076742 589087961 841679844 167347011 553183754 225893805 194101182 432022790 744683994 269833640 899026375 125918064 892484501 225022652 142231515 619759306 913072265 670827289 290381699 208493636 459272943 622897660 665425131 598881430 428926943 504140119 323345741 596199089 714553445 899513034 765357999 744527051 742248973 651694003 617577377 622159964 598492826 360251514 920019352 909873896 448374034 641844026 112262401 364552310 427347400 499228200 950132159 973114505 650658535 376905853 796158088 628830563 359036721 467193013 134966475 191021107 802848133 133831649 760133185 342440727 933934212 399651956 736859889 405987864 859894318 381791584 201179693 282724492 233819553 302418795 525134953 983249049 381283670 112775929 980326153 627949801 964637809 443135147 860430218 495413269 469768822 381977995 754710030 526982525 577071322 328350684 398290977 215088471 561681414 740255726 633811549 633675662 584017568 553061754 618902597 187648700 654292746 224177500 478958826 455137896 233125675 326504708 617474735 155531181 546113308 299379434 330277174 659786373 618343571 207400199 660357430 146071589 501342544 132599876 485053620 464930389 561464071 799140662 924099431 326219555 285510465 941521959 942533605 621640066 458091560 347678886 419597375 988292379 218302533 172554292 278933696 969107868 680325051 922833598 553370863 670458384 756106699 440233149 538638728 108653128 920397165 689160576 874663857 166247751 256985612 285687108 650589506 231117638 437717999 758451558 275899608 763080574 156659729 801188400 760334959 864380474 116171393 782813733 250100432 508955445 197190191 538452886 986627953 945469098 863367951 617765981 696682157 382068390 610104782 953293997 526266754 474933071 661501461 727634680 527560826 975469520 248360618 581407200 742948408 260335079 251446137 912430189 591193212 191209134 695252973 162212490 365038580 865061389 689533324 496334350 797809156 286725835 188101524 353203528 786038963 686737617 747243846 398300255 649218657 538036859 624358883 226118465 618967997 168577142 726393553 783252501 967432098 220265317 210381703 438678045 210279836 445693364 945621458 738250706 548793575 735239863 673313503 271437856 664787198 114001750 684619843 722503653 826875110 950170438 853580656 772913106 196452715 207397587 263437254 667571436 611963709 308534464 753704658 438909673 450056711 957937084 266069333 610847256 264077822 581206226 790857386 306726970 397283136 119448586 617266229 437697279 427432899 417562304 267044882 397244559 676723804 435968562 113562849 775348688 121930235 934903287 516357779 172748346 516167335 251620039 385208715 447321185 653858839 219166021 900866779 258246799 196535468 288804326 981894509 458889192 119906974 545974476 421634842 243212909 550987681 956012457 677325638 955320792 935850139 220016569 538734037 973817334 660557608 631487135 628733973 296881287 749441249 683581261 202338205 939470039 904674418 386319848 663969043 757457021 473375245 380553824 815223848 888749008 180925636 326209293 340091689 814714548 817480969 192721799 917581907 740173015 856200103 246542623 658410464 265770576 728005215 958605925 811917320 889325822 173937736 665598937 959026685 491520668 712703812 975844176 991575634 440103799 427485611 894437165 104210893 273954202 759610932 801594821 329554817 323888185 263256872 759564723 522479188 760465819 231908647 964761941 962901544 562986222 114496922 100849789 870463718 467890647 902998087 999072332 928469482 870903366 335910658 921138613 737472559 964697557 198448207 137173341 384568004 533125226 731003053 188950949 317259336 899829425 850309396 862436968 567766256 609198186 315733200 121579619 201045834 635697042 522581208 196945197 498047581 858467230 458338390 370413759 755798548 416619572 982953660 777352306 806670753 512362682 650473617 459673269 709228489 400669810 371368950 974690085 969808805 877042934 971045263 768930595 610575319 978574047 424777031 579588026 927758875 152000167 561640913 169342100 696476996 551428380 394037547 144508165 470361324 976453739 545984964 725476408 708710191 847731852 196362827 106190108 584023415 119639219 923911955 471226679 505689882 648044936 744790932 741823000 959160429 826834982 745455068 762265810 268670625 307667649 971617832 431319341 381367565 368410648 792653996 116053277 356936379 283019704 279490505 358394960 429949646 839118660 524835174 902118210 383595480 371754311 794327695 589834664 247777657 607861687 305828352 201092679 904428983 993289239 756171267 140357406 150722176 653423055 703697208 834423010 746618332 772967822 840463907 980888950 841780398 924742995 749206254 677230545 518969737 195493163 892075683 848609691 750851576 679556846 903833582 177350355 364963944 944827585 759038733 607767398 730452917 275888594 312615927 791494805 969559009 265654937 195126086 532020996 433935306 126113830 325110045 927245567 285470490 990940074 437350904 202294761 483958897 166008657 706021100 867140444 252160772 738684955 978907664 409837335 874965291 787136306 939317158 805022799 106956127 597502070 189474341 900682800 112445675 529368056 367007575 309502746 817530901 938230544 806096777 971555267 228113211 169302967 444050190 681328418 604665511 122844729 379103554 310908062 611330808 853765854 475745858 437691046 307591741 941545920 743989315 661212059 287094597 720472507 966335855 861823185 570027085 917189355 487746327 826397697 238884191 457552517 381592174 928227434 757846868 228938337 466354456 292688737 428157542 273211369 525866012 502736380 308106673 820896479 580547031 365543046 133947849 719058110 773148166 210066347 746675005 868611033 247257616 835883410 724750029 116348067 541061332 483911132 501552096 157653058 991341026 990300470 776116195 567249701 668517073 569907671 295288651 824891554 440617324 878438193 522608149 442048284 321412799 383001076 979601361 278029634 487237133 924702755 192162291 235187138 961389629 106684583 863624356 146397606 473613061 281249197 752469094 439118577 428714512 883923465 540689891 779951407 251256088 419911254 982443514 425511448 565643646 880071659 576112669 731817586 728033160 988169290 541637398 312534790 633786575 281009432 542542123 128413904 240163133 822282515 416133776 798846772 272407736 526647104 495258805 954000683 446337376 578368534 960349397 952025647 163826949 563548018 525775929 953764019 353073133 803495227 524652877 939704756 375719803 127984282 614239268 747262361 961364809 998427785 469341170 886896710 858467362 206147624 629733484 776639923 966636892 945526093 848402831 861907942 855190381 771838255 976047848 459207245 285231782 114276665 701515911 895319079 617588658 919260898 854994306 128979616 677241881 968452951 387155476 167249853 771202154 376601643 730513802 693712862 651694500 567606788 785874741 981279574 782626936 966063683 647656812 120267215 594973393 487843787 859206370 778426721 603845498 133642223 291729724 505960266 585531991 255654734 492654947 899034150 898820040 562687509 148404600 566869674 256584322 737032636 827676368 798068930 274892741 463990585 437808488 408479014 541012900 144580886 437104428 282003722 772567324 551812290 354505818 634917908 996532681 674063814 375186990 258838322 778334358 999638324 660722787 769877522 767183597 330106959 552584495 664943928 771718864 597246628 674111054 358594518 190458758 569796302 467743106 465804101 689996809 448845913 867463545 993915191 898175731 538854995 562847906 736142299 159410323 893305119 166292488 359971715 720226442 949305079 263409152 869392578 270247347 645799442 464858416 631720577 861444816 895900764 626848665 298364325 414946506 372637327 244415307 553999292 987892072 577939020 282124202 265567160 278381852 281495096 867585826 644432416 260978519 724892007 393967586 863307691 507230897 571996857 386833677 372014843 822870515 663518007 254586871 895587626 974213746 644290388 504803110 520193156 485397477 254265925 253829259 919576432 166539315 302193611 756734308 602628577 361263527 384984548 933509071 988042901 995318696 564863024 484544973 694818507 400714400 848693167 577955904 815961220 100648048 495740144 196381242 841441788 154090617 980937037 709624091 995862118 876186024 685136358 737403505 901234490 171565946 671085813 490066451 346407547 267071013 534747655 702894952 605407709 481780658 629388556 984831841 724418927 931309023 458050638 605840196 172862723 178620764 460842071 262033643 186893102 276105236 303684375 819215278 559085333 684396665 892063191 738258560 559269966 183762226 606152971 610950202 759976291 317990809 635693474 797326908 302899004 119312779 923236749 444931549 937804757 175540751 953775489 859464246 947784208 229350641 518371410 917535951 344921385 394890036 723811274 445899618 163396366 113390894 770223820 626269304 333052591 119459024 480953537 810170349 984685497 924186293 604100427 307206085 969555864 919050354 220967805 723733165 736389921 191483380 110462101 120550313 261976398 183590543 355590688 348955620 129703696 409765532 263743094 482806570 398012540 452149884 841176137 892747056 720751754 335896870 877699327 386001365 241344267 311604804 726312618 464663374 929615335 968435164 113083894 499456017 515236106 314331694 238576835 523405684 705327956 457881493 853504474 943686107 269711337 659988564 221703694 626684222 600283493 821114684 982626586 850147922 354736442 798992404 827314794 481187551 912456322 156772505 159128210 119768609 942685755 824071798 150929268 666763521 553348869 756760334 435489101 876405167 975661727 668299441 494866906 808122201 643171971 213403802 703724040 921611740 540319451 586121558 769721178 500963669 234898609 652682530 688630454 552878598 658923026 235716837 415665435 961633891 305970863 138095677 793791306 979441327 235282181 673050427 537139938 433577686 233196205 887097109 483152912 684681692 902787928 440877050 303089771 226249232 556672465 568434057 140415710 984587901 362618644 766765974 282240847 802328160 518143149 408277135 272712320 411493144 973453406 957132530 542798171 514459274 558576619 667672028 854169844 400776676 683573356 364119116 607287489 270987299 260720236 687901381 286588696 210472545 914404600 910929975 935738974 527598186 627802342 348235610 859771355 618419981 856769311 526274411 905525024 891649308 800711219 888768291 387630237 885491180 433710249 371022092 734163794 190456285 352773298 752708729 305085308 157493192 217322534 682335128 734878039 646925755 271592814 829444242 545872920 910857669 874791246 852229123 148843203 925302515 971326781 489419865 489507341 683693187 982365620 500707460 189136658 551351001 138532966 105522628 170674056 573452440 573738800 189414708 438564786 409706674 761244646 217093950 825400714 607234132 747857069 918953926 955684907 155191712 404220184 786932738 704192658 957739670 232230767 441486478 263772698 912203477 281678982 402109001 215433412 884007221 356340337 366594084 344378672 382258260 784911886 834225364 278515949 375657547 192894010 627322731 420139352 753193145 112524773 379623097 757936442 125815910 984632978 101055439 793277344 269743380 132631011 399476546 755716002 227391813 806653331 221875461 208908922 537099177 772300569 866376990 833310040 942472546 326176551 492352903 294721623 742860999 618492372 423255265 369608044 896540733 809066474 528839684 172252700 812068278 200531873 681923422 563368620 636236590 712316988 964383537 107631636 135254748 110452578 527826625 573773137 488202182 449182343 848673196 382145853 809862359 430304547 584374337 644772146 797962617 785911131 212419009 284642189 783392685 267494636 143676248 816623926 476665466 228460905 670183334 606349724 442036509 544752951 218908705 434467103 949060098 156575134 617896474 378119977 474114649 156503585 518723992 649371893 317286570 906992462 798147304 671979932 393613291 318209070 923687493 320077609 876926840 831870643 724785354 362624774 539350839 902004407 370447955 445740587 454466615 424057670 825705962 846918004 833579619 981647552 409819550 687600503 709654182 491799938 573168722 144711167 958376678 581671372 726583692 984876090 263096531 849106507 115853197 590541337 903979127 492545714 385664788 629609346 775647744 624041252 432932461 149666263 901253543 409460151 497914616 845626619 448248390 129352261 651155997 864908636 723322511 417422099 312377378 642848268 791700865 616138704 386432897 268074145 920266434 321046279 951155507 954231317 955797005 926946994 793423265 694334532 720671393 842024750 432951482 672597408 311573703 419672950 650403377 137824646 300749545 102390299 661726190 357123304 734604018 616844254 618666316 193179472 849088526 770963271 704616374 577522238 202548712 836811671 908184481 648746491 388076758 885613013 479311323 903200517 615617634 407543440 877328725 824203600 125903950 963504080 824864933 972943215 145810346 525409761 730290276 152488503 711396757 653189908 964043246 921391406 106353211 511979674 979535638 256884089 384948861 159984565 640224365 209410080 337187848 127664492 791851525 187964185 664101041 975357239 665345199 507688403 396181166 799958006 178143258 240444695 688052429 451728774 721245997 381952385 279120914 511489370 134131562 515624610 528636568 327470317 812457589 535843210 234284324 897529737 988702516 740821503 833884532 106353031 759368463 420826813 615001036 866814338 758946388 975808143 514408351 956569380 380547951 839474314 735117287 419514774 558824622 190689433 347744242 907452483 618659931 431519610 794897908 338637729 865704953 282157648 483292792 353338543 149126783 667409747 194923001 320222311 437679880 898491747 912059809 170661562 289779217 130967107 892274462 276726554 601500171 951307732 556492760 523798407 485720000 105508862 871401752 191340038 275798558 380218867 846086173 990745458 151493271 666331509 809420174 980854203 623623883 705496002 800589428 840375044 451666673 815084933 756235321 984229515 615083714 241577272 530969868 872725811 453369265 824263283 341588172 432867072 495263355 461494126 834299749 743406563 900150562 378068433 659915534 252575068 790403096 100787771 664634280 606230606 473898003 626144684 227644484 831349609 559944747 356435654 969557774 713235253 318516051 723542196 721320295 478378905 757420243 388910803 103469085 548565513 890103353 670032841 805791089 587855224 994452497 570727845 248891718 253129803 638075799 401001569 483778682 901282826 305765479 375703012 709053341 352938203 177189130 376786019 862063815 152074303 709501114 669757714 719430513 194672156 102779953 763154423 759856280 907624557 198346628 860961999 967382914 967071252 656929247 743802901 870779339 197492459 990594646 381768625 790835043 989331840 181865001 194370520 372739616 533163462 251880364 663833689 255698862 481623881 632253403 813764130 816416984 442847872 288046398 833662287 126655474 192918229 697145435 693211444 920771502 712471021 175266854 423800039 255481488 132729047 525658488 848958580 625329706 586102055 170143728 288119146 199581929 381182464 444190669 791719613 648881217 584602603 342268184 638815401 163893375 513978195 991023039 540564886 997136539 852105440 246402228 110753567 313798234 571566112 929840873 812093126 495089279 432641510 876691058 648700732 266386734 996428691 326465447 293876122 998576946 884524607 451991561 914499507 745835161 841480080 775994750 865197033 958583720 209720572 329583328 856207409 111716803 730589760 540152426 451306312 737392122 965431963 279814223 373216990 270828274 885420900 978545441 645300993 690615065 466414127 455765475 233977403 186075618 540435183 293063310 549903304 464038542 648162508 824881346 192398270 977733192 854173297 900363837 480299004 628645619 513382689 349452568 336249710 969500985 934346127 966437161 311788614 126391000 803111774 965477707 946312826 626203021 562347593 699299183 774674773 557175031 287793108 595107597 155725152 116946195 218944428 699967868 445691030 940283675 327926213 398536907 875410826 107521357 385386353 813561340 140773005 522307047 650280688 245914423 225538599 114286639 512784486 870955307 706094400 872580039 733853853 844352259 902842778 460743610 601194782 436205502 966757739 879155751 171719162 298204421 793105058 921031087 433438146 865887296 227451933 346864450 628612442 288748255 789178003 450703421 203514651 894465367 833269099 622911898 382003495 132633902 837144392 794455047 828656937 747683207 518741775 642185917 317330973 647419458 495375603 533352481 453614656 382062010 910177311 153447547 922885521 553144538 430241241 232762837 558867675 418050860 656323830 508914513 155789966 546369134 216877578 709680919 963085785 844382672 120292043 375936149 415654083 745129428 722801290 754976655 148532128 309603519 378252698 687914376 187259826 462049899 932162267 221676714 996374257 695051951 461009892 992022175 287374677 121638707 292396219 731280589 347303774 834757295 955531038 343249101 298238296 192424894 273600197 117111688 976806177 646841049 719355352 896710466 319832852 246932557 902887637 336168649 970590340 148392742 493939647 813579197 536579524 547369799 823257127 319109266 617481963 211326157 698014105 568155378 147725376 451975958 810638158 999692366 285940699 824452229 472446818 156406414 147669066 958754855 276293870 949019238 222684291 377179603 735890296 876393833 129128588 720973514 249130087 428036758 890454934 756222790 150626781 145341309 461373121 863021369 483597483 919643617 827280513 883826159 603673485 389534555 347389288 595208562 120032742 674119565 606504948 566320346 984667299 366048694 536596579 500234823 412004113 682146332 509465175 218149829 717164362 631160386 281058408 550926762 786665800 134906916 417298005 344737945 425278341 786998588 551904550 208589888 790392740 525389319 152638057 799826784 794992407 954896143 211033594 664228238 678567162 925467766 354904142 967707450 815953803 616379912 870879128 502845521 695375342 827921431 713223687 567604517 522796905 481430112 781023278 483880183 944926344 270854473 178076767 467682161 906533954 450613884 557020377 285314861 922159150 867381838 265140155 369781588 656068417 603925951 780542985 109240562 501396666 863481611 762275462 147252480 872153637 990683987 335015600 908715037 812830541 379020622 362203635 941655741 740694124 696050404 887296856 676102292 360148774 883248459 356147719 918919461 137326303 792400226 356635294 419216397 769711530 894169823 204374016 829417925 279025646 667284452 865590556 867501992 743713865 696805388 935591087 292758476 230776311 484479954 285528202 478067150 665423420 930514127 248973706 149036155 100204065 980389619 139926324 889360984 543635869 693924059 841999972 506214041 928181167 585988205 919521780 100297845 778229862 246881678 903742810 136646939 494209454 937463675 918798408 414456449 471049971 628175055 631738496 560248443 919553681 699830707 521756329 320022724 709842106 942728918 197790787 197388335 512488913 270917776 311218504 574297394 367267708 682016325 197005523 614371119 659124525 960589366 219188601 580159241 617163619 542752696 523465928 495036664 851032107 468413348 127395936 804510000 766204574 318685806 447022832 352693380 528524684 751448934 481993807 625931171 936185488 758088750 592679744 160215683 172788850 218294848 335843243 159433742 210428520 459258540 975535728 484077176 992256364 467329523 823490755 898756833 271145547 823503549 433000274 435551825 452895363 349851114 261216039 983008838 206857784 937240826 468361856 716789959 581185095 173825796 289047167 390455826 353158222 579523791 180474598 423505490 114789406 850552643 712095513 138754178 226490502 114034161 154208836 975390204 125985721 970915217 884518695 759131176 414956137 178303375 223460795 840852659 154237339 296473849 504310304 346041721 922100866 300481031 150722040 308868614 874113489 543959516 606083778 802266062 142540263 610196013 761668498 968980536 230261637 742188026 919555696 419625232 769260417 928560872 906334409 147405669 620324934 595387304 750295330 249959679 264525136 598805000 122992545 201045453 218717285 876901442 347513353 551969074 861983809 567877611 900986955 524245163 900072092 506713528 533719766 800002219 856071309 764383262 753919455 723000338 596364569 519607341 811012494 326300509 654780111 192297377 714061880 409303669 348469659 950290140 930649407 705114516 672753089 714927942 322809439 425538266 942673175 394347225 701407106 444893392 236946983 373175742 430479722 960850697 244195111 221605548 201546005 518399576 250892557 797588121 149151247 355736599 857301904 853104975 359315900 290480493 368745348 630395435 888568234 170921700 679453767 934960940 151928691 286302892 558480652 861062132 292117425 776382436 499688248 238823934 675787843 595558871 140073488 581126814 136930044 812429028 649352099 177274582 481139887 676450389 108939669 158509381 669371438 677369696 339558193 606499085 375189878 733860683 520995420 675642422 639666717 651261953 279330211 574414978 965889540 765510319 262774700 145599976 928213720 875821822 686557135 903491998 798389405 969013123 816789116 470461791 381433970 796588220 148014134 382084472 511617708 311461587 365350977 917150054 534187083 411651681 864200688 500815277 213374773 604434666 215325335 442933978 951703706 973155912 150809745 629017064 944743804 656864898 545323709 954746718 568655459 485377589 918628368 522493598 630404955 249682447 396354386 934437917 676978156 405358677 315174091 513093630 413472172 478107954 537997912 925374352 849950354 321195959 626060824 635959648 121085139 811747027 663264873 502518620 203943392 604345570 694108059 163317504 777605304 282779902 388395918 968172607 620878701 247900182 271464026 490055476 913128231 348092662 944565036 157953644 173563691 139003619 845956090 959363359 228496669 149539061 883811275 408961020 190892477 250395151 112271343 154474517 788343461 685704936 712803374 854819789 919399762 446389099 385366259 389472641 588045257 897332050 232770150 526391737 826695012 248801455 777007986 402153153 671830496 607016088 842539277 582516978 599435130 612862186 308186357 619774775 267649173 210950841 972403491 694788095 775826254 167809737 750425802 745358828 135596578 772295623 506360103 937706866 692532171 876468292 776656620 380648960 151495304 570955517 318546955 987878452 822832956 959309211 996644362 900427871 882183233 688787788 951385060 702288677 629526798 716296020 606805922 513763189 226638713 496469868 499855009 101406325 100055974 195090870 244492002 858178402 350054356 583812451 340531025 457602226 258280217 690174130 940653997 400071738 741796634 225088189 831871081 861943448 197746947 784879393 633988417 335605663 934599655 920611152 399151394 165105288 121686550 585783305 802692409 936872511 924826915 428368715 643308798 297146421 559752003 597041077 760677644 430193145 619049379 396573238 796517937 939014788 199933266 476641830 609423344 663276338 132778648 569193618 435704630 598424119 478148012 965811278 930830359 517550080 749881417 538059653 491238883 213888785 592432981 124806249 291444618 872315354 656869154 507031830 341805970 973692991 786615213 829564838 880720075 476029999 778818716 640304933 254131964 168367498 563531747 896260595 883413281 750157367 572726152 187735203 151850550 182954013 883434953 928791013 284609544 879883813 993160986 893950922 669432982 327581868 793512903 482704058 503974860 522090131 783567212 536696790 472213670 762727560 100868426 100636105 152074085 869820540 206776226 202374545 939321686 705547407 264633620 227092310 615986878 481492376 362973173 610148921 132336867 342577031 661072295 687856205 871046361 813363897 539947497 223181885 361849966 412579923 960593658 653227021 721725043 984792100 726526607 615348115 897486767 187370826 661844704 953926737 128481218 862038322 266741512 640480638 316044935 168920041 830534242 393734106 553060368 884494085 632918531 704751574 194244428 435535281 638743269 908382565 364370940 670415612 148981725 407411537 562926754 426944169 549387380 729805339 809832942 747195015 219473818 187999753 186787049 512574737 823733299 705713535 137533880 613964414 901661118 304736891 111288405 596380840 101273884 445180491 980780952 103836803 927061062 728233286 388713457 820074919 172071357 889020727 794457765 417535454 841478716 923595392 395333651 380419141 882486571 823408320 482747442 464816695 968787725 413326709 642411533 964744473 907025018 267665283 311206669 388535481 647815501 644882002 779120890 970326424 660966463 263859853 833766698 261826548 486949254 810603397 876481861 717922778 119658631 361737578 965851832 535518554 582845609 916832303 896199440 119487231 226952585 639568054 346634492 525582619 399434708 715422999 502912163 272514003 679870611 449623896 148360343 611175414 175589134 869216224 205509982 781837377 231119319 555939696 786975667 712765621 695676613 756634067 145738968 686545520 737725697 414463640 340892517 129222302 173990536 600850037 723215428 590533197 797336737 727637423 466194908 881921129 422434175 237236513 879263817 520394471 673717441 274703712 287912500 518004059 265693996 391346699 699063396 933141007 994551559 657231789 970181070 817871449 952420899 560276189 855843573 751604286 999718173 553150919 494417604 515450156 766368059 828474402 443138743 376472970 299941174 623687882 221065387 293093637 216848339 773299210 195213816 389200350 794137894 366525632 489194190 972100712 954246143 938348025 845546007 655674013 676270731 524699959 740058963 407051557 485917516 161911674 865315136 289306702 955268782 360851809 166241997 428785619 161774079 290213456 515487347 991693809 278856175 858680073 593116548 343017433 718204299 207714443 749062368 543446888 928301993 260009939 381060119 151248269 233327020 676551023 281145360 273763480 134916723 600102725 876012472 472750684 650332150 915474148 173174158 717020466 216476233 642301134 975151184 653290531 420080381 944437545 173632938 178770837 484281504 763754959 339154624 397245119 192696602 608903679 648907310 384496707 995718072 466201403 217431119 723109339 189924266 533698366 317518700 439788527 434299257 196817777 981352664 927895603 787581338 294548412 558578190 623674247 808758119 396613271 778413518 260912980 326832442 187623980 362752695 847598514 324322643 474574289 435580154 249503770 453150545 378385481 971392687 218652137 566219705 365209461 437672324 781019281 154165080 792536244 346080447 647085315 792579259 372823800 983052425 170272219 792183127 836982627 185353842 332830049 770648521 819978510 286876742 745840627 179650577 535313062 144605823 733702230 831033959 548955347 688319489 964778803 469656261 530451525 694198988 409476095 811432613 155486306 441540241 362599965 227742711 755609341 503759792 676277184 482899547 764021886 647199728 611377210 598014959 455294250 104026157 776898590 210509355 151994075 450469541 265286286 873680395 196282401 830003702 877326671 659510162 182102548 148767125 608277832 655685165 997552570 874573153 283491058 253783564 506155995 981281710 635153670 742287314 697388280 260189201 291978466 768194307 128545626 488090692 538516922 124136561 240571653 774956933 374960385 376059664 197765086 402391250 187836318 828704500 652677211 374723563 546446400 561240378 263400801 762875817 929324599 641117393 406044828 722529370 926691256 353645140 644974815 668356614 293320271 477278118 485250118 398632189 251894812 526257086 831612183 965830213 635871788 813498935 538754169 770346654 202297821 395961394 942038475 541858888 565535534 145499770 271791279 893749172 439914696 268128912 900509961 215438429 257748884 694789776 976193832 891722694 827848289 724218739 421928366 842374146 650329584 241299641 744425722 274455473 677537738 481895252 707685010 728375786 407813460 271833172 721206102 191613875 579484218 102529792 906604963 289188015 497782593 100375118 736973235 338533565 277523367 967373843 587426161 664384700 972233422 601452915 281620111 531415941 726974424 183001492 135973701 905257256 405013400 236872255 779329666 651865437 993970088 983051299 830199371 219652448 905073989 520255021 671466465 360882847 632199879 402689707 443853261 338271452 144125481 313971871 381916042 870628660 350025354 908373139 759221418 945527650 848654918 723378265 291942418 743981082 658179330 680664322 301291435 805304476 201659022 797893917 662944920 969790675 953602194 450056284 203571916 754071048 209658017 351629507 827528090 378696625 714823888 160773715 916680562 968267112 759063720 910123678 506016246 582286149 870457409 903969359 424427109 974009075 424977644 856458148 879518638 125598157 695855166 814912215 943482225 539201893 716802739 513383338 503896018 889410103 944538527 456057617 210417678 333982367 958257448 445945693 220915307 428701462 291583549 547446232 836238044 202311994 224248439 158667619 672231952 316584047 464074958 647393752 695336266 412093484 234845732 669304311 803553233 128063148 146380513 319028553 694435743 475997239 376444000 421107241 389713634 560861236 535330407 665758178 222210581 136638495 309410484 888697814 622094406 677146113 643091831 339877954 220884810 815657208 347229907 632025928 891896414 123804931 847216015 148013680 854512941 947827729 358481709 420566174 898608682 164984162 468693031 127686490 388177762 493237760 413368875 651903257 193820032 431986526 117825395 146489255 581380002 235853933 264915447 480877930 344949086 427266576 282753205 411757362 358370707 540923521 372701045 933645201 873629334 867091098 117585442 820834988 824629947 615162882 440831264 320161074 663019403 451457618 217944484 842984767 918132480 285020457 523899665 480667822 727279662 513462240 384017609 596058520 328970765 314579401 267258127 481318054 114798940 799380792 250481151 305646600 638424154 812291076 480895547 616971476 797358806 791642740 832769464 759756576 987306158 750482178 209134175 937253326 625648333 404505494 795920259 860024845 793434165 527599974 529148003 665197481 306725497 252343281 348040041 569369984 664330669 759398555 843910950 509371898 377081885 385999619 909422056 482182923 352918439 310290375 372465303 653424884 521768379 202554538 174530655 194498836 225403016 445296831 967762279 122802187 587427084 959866155 128820281 549946210 240757628 545597773 572375537 277871668 495595322 196366337 866031070 832638075 580458226 885544886 255436821 570956313 331246743 824610636 624879364 511839171 650968073 668385348 264500831 278539116 829602656 897061369 586235063 619389572 337654858 379511791 449539447 569769369 417582547 675086630 642814644 654481531 106373142 994664376 973689796 250252957 562718887 660882599 443378048 197318489 145821867 898447676 155811634 807729978 960015410 902013134 354425380 502891326 629755899 375124985 716595585 389406093 449486245 630829569 274753843 163389704 618472570 574148994 469492164 479858310 486591521 207254328 226753831 475604060 308752891 543136068 648782887 417212941 610833753 630068757 812321293 910000133 439358282 384999833 766041056 548370442 142695703 632860859 204039559 122926341 655126718 319885011 557412040 548076591 494994088 674639961 807556648 356109010 745132174 110241220 222666446 889318453 242725379 875378749 439921450 435203232 878232529 256697989 894926688 245985465 214592716 164093953 641952191 295675148 396137449 211158531 500733971 525555706 485269257 147795817 103426951 162110715 727278287 869030247 784756734 521366922 895809607 210426481 128231489 143575097 115315969 328473747 151496634 335612457 252315597 483390149 480503398 807371417 108791911 811439646 285750553 495839526 898303680 352658719 612685842 720089628 233121278 570196861 738687418 493115376 854561439 740170746 410626851 385720305 205185094 617891547 153087241 953991250 409253794 281069758 752752404 613538577 757885273 214705978 636211932 156477542 934412736 135702348 527466484 642401665 498165547 904030945 642864618 311454647 506134176 905162441 651073303 112057088 404167829 167960856 432361051 168624676 892128051 149499607 244691891 856698332 531201968 631250316 561520944 716854292 295634675 329828760 226086712 376739314 398439106 381859941 318390714 579478055 492987397 759008836 447011078 935129152 134126046 234232058 174828814 461637221 562752262 899935820 764738796 668448532 615275644 255474643 609484052 591642998 629774311 510934578 626728206 313797632 488438616 590255300 953308785 951566778 489065841 638866399 804190280 590310243 143998176 982506824 736733499 557121492 647659567 318671301 187952796 112497395 552347736 892560938 697623359 331969653 172247396 929840198 121383267 967643061 156325780 273209557 350753951 256968728 450736787 894525232 256389005 391760984 869177711 924421077 364784920 915983637 198428337 792741659 771356682 627775640 726154540 822154277 146787114 943591140 990336882 526520684 232743294 541435145 323138995 144704532 931732091 834433516 241541523 802652825 636426365 671009756 432626827 874449601 751863478 490353612 760634231 810127383 926925473 737070000 870232915 722866993 299228045 987632054 949096018 270016796 304836145 161744374 506712142 269177930 370613233 460884069 604299162 666108561 558726055 372231283 281764639 189017487 149777343 153938585 192129883 811103497 286135891 714980279 812580789 367460217 412888815 324396932 688561774 309809292 244319690 242120506 743137482 343053471 286225863 732511850 349771538 553667873 124758654 944799328 897851635 782004262 552567224 996123506 434410281 290192868 236075580 287122273 614452030 121905596 252646729 427300860 976879995 761976175 789034512 518012342 504871883 187423596 167742511 468401435 396823545 418372942 256707426 128397511 834070432 556900512 203684794 431830346 951687519 600183433 544380996 571234084 981067180 475227635 131475209 985449974 649640340 772954707 509211450 696748670 923116687 265100811 441565321 199110773 434788652 170483444 923712520 518028751 978690688 696344930 745222219 481612488 577720385 101257519 792439344 155038145 570099838 382032511 557297848 872036640 548016474 353106383 164201175 220335704 732336539 640657393 877008311 602093976 208971066 855255609 488125406 563551590 616850005 148099044 961648499 264656527 931841389 808395902 361010524 847560609 391698917 452986863 211704998 329078947 652490808 641180793 467094757 729547847 146404230 116628790 167253312 601026497 928765498 698935907 668325568 134422098 523958901 358003037 797914397 504589285 135562793 539493703 567402063 814529907 470885923 629199913 911203941 404835750 991708995 594586458 490318237 257989586 816012511 926017144 810064373 905668293 157584414 476949404 119165152 766762463 974909237 624548314 918332103 806631307 756125719 644991492 370534441 305939283 424212029 758084358 634201016 201960266 919512840 953412426 636950591 212685613 999338208 586530061 853087371 548483428 369180912 273705386 615380512 561418393 657303552 698822635 850036691 991201260 177728745 487510648 469019060 652646032 617252256 972136439 175610137 264237453 376827125 646697981 968763418 869394318 622774237 680911326 207629658 506241652 296229472 736470650 696718949 938382210 555775476 997197215 961611196 858059540 471145742 219167719 302251490 463399070 759826794 460148449 469269867 506564588 600803881 489675363 256164958 158684737 984571917 195120157 947752462 432651594 901695000 817170377 503235261 768349161 951338105 948510752 876668888 597216965 858529471 299344934 481797462 747970129 964449623 390706857 382747436 441201011 807992444 229680945 472822442 148617941 167784103 963966977 206590773 948365421 398958192 530234277 290428919 461493385 927833394 507496787 644224475 423951206 375365391 482416954 112044412 227572174 718371627 576886076 806393198 288556525 590820775 302611912 739149580 516839686 626252948 174236390 218643008 111972042 600595781 551160681 462015616 552361055 893121173 360406127 116933871 811294988 780827918 153933538 138064707 583575451 266711049 793620189 319935112 738785807 606994367 231634629 713349252 666152082 665687131 734571625 921856752 440604768 642041448 303807436 712381722 796467103 667045568 731041416 758729474 930334120 743684298 174084085 802072381 901254148 397471686 205640670 943882369 324307530 290029227 391661423 932597690 262951875 826033858 727226935 158437353 980418815 952039749 910018716 121421189 728562079 387001233 172345550 592740971 106736808 600552888 695021580 265769263 338816526 793590223 603844206 839801009 405658863 559045360 824383568 537484552 731646490 861057107 812225076 643836546 352503751 787224657 879576676 339701034 385335595 363465488 877794926 162314666 664138995 234008010 233380432 843962500 642341929 630623854 607396523 235952287 482200457 108166183 784837335 603152279 832152155 177180712 227742712 658572704 216793436 241417323 303816380 121249317 980705369 663904602 373257257 487271268 304970220 593227941 262465398 102442860 148001393 519944788 690410956 316976914 101732804 655706041 366207947 691166472 574774522 328809832 815806863 382040263 870254213 900532596 782844016 537704795 838160693 385516227 476790686 922042529 620256705 110492015 714607386 996150991 250166362 913282605 818193012 499581827 626193141 717567379 494218460 346872997 588829079 974108799 263135638 710139990 962524981 679523811 824317101 623012930 984332697 699344871 625681579 671238106 250735845 197109442 238936601 213862400 258785460 938788549 468567168 734060355 680719461 871178795 109058350 394846083 284607902 683033055 276922040 177412143 287275100 136470238 486931658 413374560 598222237 287673098 432629910 623539780 326452072 780150356 207169180 472323445 392481355 527601920 100292320 233776350 644675870 721070339 451091321 753928793 210201824 517595406 199588123 740684644 393572478 395077052 878612342 649063123 422857930 825083107 428970275 627222420 876146281 210956432 965263021 972665536 837359756 297461466 292230520 356618782 667512051 558605517 815592337 672652256 213414063 329345354 989320725 501093570 689899680 279555066 211222234 684210381 712913490 916273155 660667581 798521997 814680501 247789504 908845134 473387044 955688731 312707009 176915091 549420242 541485982 291189022 241899067 783139624 155496679 702250451 628352512 915208213 254986239 417364945 380646041 118948123 456877144 487842380 112074428 842712407 267934892 161448134 837770959 709917726 910994880 320164985 980116495 572411781 726665284 662984301 229747837 955530722 956267037 184611755 786625286 428879334 388792265 190753421 947097977 864605296 870985936 881586592 189717524 604569481 620211398 744223019 217397191 933051895 580791626 869748815 396664149 228226258 766094745 446721824 599154224 171191614 623505149 866364001 627835910 344054781 196577644 532577994 591298031 139293640 833641870 524154156 966534715 360534886 718068206 229789666 642139316 322675879 302951073 988766767 842784047 589359939 664314261 640920918 676991882 418499925 401388237 886280969 422509136 786307002 606386283 303111690 111374546 634205701 414129709 105057571 974816508 992643473 448038938 102829843 554829781 790396122 460440136 549269243 653625550 401918834 947809600 563528347 999643192 410541832 696122467 792163934 859903991 428560050 495613100 209664560 365229987 421814661 591195793 876150658 576613225 262762030 848581674 513589587 294795387 418198882 375068685 963024927 959248289 761327649 977825713 803683392 737582802 572503921 742655149 417200300 810078234 849531169 308499906 486264277 770899878 562223686 833482294 784131328 267442046 931608984 237701659 636009412 177161120 669832251 375657456 738397569 748775059 132246754 959836948 416476819 710633084 665621378 252963453 508811662 213823022 576105509 517120039 162713404 973050498 993281022 304702863 945826070 113561206 824325978 932095226 504083739 410757109 718289640 106844001 616092933 173467693 409156142 610243736 821221182 699735363 388353770 831845357 923909783 482382548 541672403 475223447 839152432 676921958 157899132 828478627 760795480 538079192 685169521 794214277 803822309 658660464 999818832 349871228 643626383 482974049 412028076 646721797 979548710 500381563 642109012 455486557 562081244 725912539 988109365 249123384 829383282 648776908 547260062 547093372 534130252 966214394 929606251 185476561 717586633 839132145 382126579 879458398 356290332 433813638 719738061 656702285 204624776 383171773 534305505 834584763 108877689 241195987 682744940 960302544 970298217 623298966 449399987 384405978 487953636 444945638 418671462 782556193 355435387 740989649 367894988 232460474 185036094 156895029 539034287 702532444 703306151 508266379 829355231 843032721 951824939 865836563 455433470 529401391 596247227 566568244 431079159 491247260 582127199 103599215 415359482 143986599 321404625 933898849 840406922 723052983 345198434 533835601 346649585 396184458 929741027 189843425 304611786 558478162 218665002 536570254 992669617 878398218 764753048 884936269 687697169 988112836 127126492 202765280 133578255 807926744 782030134 508789117 231963459 593920854 631016520 386540678 926481174 842241444 926483507 687354547 600354903 488628987 990128969 971413646 731006057 138281655 843764129 308601587 319205549 669816362 156203396 352084314 939364696 176824471 109697601 869164184 792520116 718584843 532317571 580533737 609431250 405821627 624130762 412246013 346091032 206404321 636881699 626143702 665745635 106582080 892131875 536046015 113774408 956790538 289656422 782978811 422403012 231766005 657391136 158912013 286520066 721380260 420027142 337354513 277091801 100661488 133892345 730202799 313692492 947706589 164358617 332295120 108308502 599983426 650159205 490918675 578857275 863835998 930729670 436767462 421880403 256815988 280387113 847036728 319688925 990819413 629692238 471165942 200058345 960754007 578110608 434053243 423513858 365811811 939494482 228487825 995901944 103543504 936174057 717916377 194233169 207536508 422408905 592641942 954891164 196023417 255704971 300282320 697879537 913361690 397314098 122001392 995972329 400499900 378646812 935349474 866550678 413529605 983691152 323282426 668941277 300049816 512903483 109104884 742162250 770281463 595395766 210215973 892364449 821075085 668220855 951151753 228971007 607406660 176104964 648465207 392493403 836086094 262924128 756119402 680978709 963163658 299843864 632031582 222980869 604976402 281286302 211290107 601177301 908519377 768348826 206121492 126098325 462163344 493542787 291242974 554086098 171792558 276621864 648111022 665607474 869318617 979922506 250076179 123774335 262379328 960080153 420289141 713894811 346078966 842847325 981823277 426329710 722779122 646829088 547470798 569442801 926169895 356025680 989286031 521786222 239750294 691188327 941900134 755471190 617837285 723800584 873740540 978087425 887737792 417580339 246565779 837616018 861286830 238492376 568739622 147046100 184670839 967057218 568140759 233789416 878271960 594447168 522626151 756628597 223834354 726128796 600670186 594144112 361218593 851958070 964303136 180826894 738427391 419077693 915094052 691567693 916000307 593956035 751438264 433609657 985198678 923088205 709725732 263168014 377512221 787034505 793286711 347489111 942276979 112521019 109737571 270294575 269418355 979389347 665738353 564544074 803002541 855873105 353790356 143070194 304811718 602725000 279973718 155490986 388928638 184729015 616599932 306492440 386064609 304318703 556515570 242414831 421725683 518984876 748316641 149406103 462758145 558218579 495475591 221901878 116747231 380515867 258931087 214744967 327168667 113919942 925483093 421091586 286261723 627473226 254516322 797734133 356078222 198489984 759270154 989703227 849334671 336188235 524957955 293399202 753949468 541753137 266174060 798360190 519266146 751035657 673904076 436680537 404752298 853005275 504900611 195714044 842405608 756121134 951205421 154288874 265683065 209375498 755371171 919183468 928082813 729002430 807992806 146066418 437694167 969332458 749747464 433986440 264899489 749192661 559853258 845734340 338996684 929191445 630299408 264114731 924349008 694457291 559600912 262312268 693667994 806649176 309806403 144285284 433479734 173249445 275186725 525381492 889767062 519502183 451742552 723888722 521676796 181172488 461632366 519852095 748137891 158800751 328704036 346365003 393263494 440606081 610633669 141138084 821945238 654862644 142336446 309115539 610307623 476083636 116097384 295315746 571010799 722855964 285496086 669511097 553966821 813373233 552021702 659643399 662958377 570551038 665913134 103540074 396673897 537928782 411453940 126184525 718027199 156153218 649527268 589967361 421377505 750131136 979296863 585386943 527851670 713641182 147923287 575262355 947502478 445154076 964013392 658276325 409679531 602555525 734303957 965412509 987025278 755601114 345930470 509058968 770805556 594602087 671761636 117977224 685977768 397989430 461001192 726267276 712729044 355916141 711974720 914624368 817081893 702968448 167543868 285403832 213092511 636303718 233995892 762169137 393200389 840800998 692452747 278795199 238370961 705600373 951233501 935729768 248233699 942930004 587776385 614720191 441282773 442982062 949536848 101605004 882734079 104991503 886970493 673901444 870090416 527354679 136437823 266815417 320041336 190425928 411280197 858797250 801366267 473140162 499061876 810711275 841217500 636472108 156967910 710917916 246122750 132243519 438317642 388228399 856507009 436528474 434842932 116478072 610723477 796381202 660478074 584210570 531622028 219971049 973691963 633446144 910835243 123254791 281895096 649135096 800357512 448779105 425029997 149411269 647433655 326663773 193457889 773528422 567230330 236511094 373415264 199399254 364832458 365055466 119103955 365112835 541973330 637797559 718840857 741889347 365191752 595270450 732900581 522070452 937774036 816825989 424500715 806239566 954163595 978864202 140755572 795836078 129677782 967044819 148403954 346203899 996004950 673582514 327230069 345068647 406336830 843465292 315847786 364700212 962909342 451604639 287894467 148124118 895933573 325277792 467701579 867020683 926995688 350843986 939947389 518740316 339793142 650866503 842714844 552489103 671586232 902821683 980773007 426437342 999895630 391830817 792092843 939507636 678054151 193302162 181298237 539501662 370826209 468185079 331326884 906788321 108488254 519209974 962635803 279713847 394662159 318873036 443070011 779782966 405298439 448272033 449243191 852708694 743908318 138830405 773274972 904872481 935851413 518737372 356189990 595654638 406702436 599431603 924669155 584099134 477017236 371668185 549085410 712598912 474658383 108776357 280875879 660664617 359151802 339391884 236814019 657250726 350469673 498206088 159442949 387653902 558670604 246375403 666520267 643930014 344287083 261182587 260836887 426859400 563511464 961980490 641964420 950938340 446156231 484377344 316202962 634503202 335997461 325916052 710452183 522924656 386113363 716131800 614711783 931562765 680576094 557373568 125410683 613483954 263843105 560230400 975918624 484143647 364629564 635234535 543386704 396549032 808720462 672676044 136732906 971679103 671259980 548701389 562289929 271512766 533911333 124595650 335954694 564247992 453056804 584452116 797763553 230930207 199565931 400047720 560117175 394290507 344416960 392209832 190054766 401886919 891186020 955438328 114509361 460347561 322902424 368338480 331089785 230609158 959023339 212815375 110436737 109996871 189405208 668412296 410827303 548799397 299409403 455211758 933597643 796585180 816239838 823393869 263211205 308992191 473763138 376104392 454032620 830330150 440343605 143403046 450054535 560443063 902340913 283456334 460853487 230701274 814550535 943079291 432852365 343705170 233035760 717243542 820470158 299772740 270912022 910746832 926619626 762685994 365673148 998409292 140740887 326400180 460981179 441345552 648388518 975286858 524555539 239208980 972015953 610934190 401842876 134424984 827752347 803502189 756116598 949356635 408894089 615162918 234226122 476338653 288181901 562894433 532548857 488193601 175845557 702670018 749066617 228570739 281749759 769260721 254665858 131471498 164971740 475369634 481068893 458331763 723317947 376009777 102333294 807820836 996512539 874182698 667476949 497622554 620397928 236441794 526788594 158526171 868524989 902475340 636576373 944648549 117895933 329611790 395720957 352471894 532208231 690722346 386852206 767495923 214893483 276731869 934134340 610029916 627056519 475888148 490258922 807572552 735446316 278162747 759144969 486603282 133748292 857203473 472561696 888745946 197032822 751353530 536987154 889278942 554460818 137031646 754505004 910553866 206152924 867028323 916287151 314433972 955687942 105803039 310930080 852952151 358235067 792074579 400936255 985706461 255709225 182411305 515862169 900767459 618126542 367974689 586598195 826572765 317300961 859710691 645725390 514771056 155238109 407578637 402050293 690003159 788500877 735640482 798281115 215100994 692296641 467343915 931522434 502699803 747189596 830991127 893212406 598844039 834965719 553934377 768494135 467345570 724442924 886027544 429336952 182263965 984879874 499596729 677219534 180340241 144020910 873193206 747084015 137259149 704500109 639837511 655124595 935472907 880611988 844123254 285867030 418572335 279253098 408746867 667440533 832468889 319763550 392680040 717794049 384108439 588854186 137765044 317648264 482093938 409906894 468440525 502646279 185002350 727462795 682255124 470042871 696386228 272497639 776927635 128745275 176118811 983799509 696879449 417507510 482209098 491656918 459184186 348162923 103766545 814960121 511684489 912385157 116557612 508901224 964140758 256290109 618355232 684122891 525961969 870115638 107916304 206606326 588999786 387320649 130427406 549287869 718432031 861193295 885193333 281112249 623352185 616798396 458708873 670113174 789569106 457874056 801905776 934635502 219787610 755127676 627247356 920490858 298085229 913381637 841709419 367857536 838537310 842178137 408386736 710958052 651404945 618009461 771905004 912403871 316174581 709175646 270914563 692484341 178674821 938307010 728968828 208766486 286507168 119867020 541076178 847632410 460835566 151727966 646030771 805637414 484936198 200066941 760607293 399401402 811951416 607088823 778806437 853032887 599915987 629036689 155559278 526096377 857454055 485331315 621954357 771157389 995279436 507839300 116369678 733811819 931612795 103835660 865629825 720622937 502741190 276596278 591461745 522023719 149782141 271650379 580077720 616105273 502162903 265289445 135858062 882531829 892953278 725113075 628534515 960382991 382702110 675401857 523128325 185876416 537285482 766353527 889769198 950811115 254335545 470628279 901092464 904310493 663711471 743592139 317930447 313255710 527315724 481681506 958933253 618363410 103421637 178948083 882292626 811721151 491068135 871515484 518514546 950495711 567551671 782697637 210360939 575599328 179065889 787458803 788620449 671278239 794613625 194898558 916042330 620957589 777555271 729435909 910026878 129406124 719803613 984180797 992894539 180740038 805756442 399606244 272338727 772889843 689211878 489841727 875548188 416735938 896364173 684997450 881280075 884339589 690394991 506445660 367865745 627141629 791485129 982564894 782883571 794608681 415600850 943185937 351069699 456119798 690346475 547313126 492443460 474549533 410023583 230898116 214872468 600775188 312605147 952687480 851955217 145686759 211895740 818266883 256715501 593943249 855488488 711119648 336043027 919808140 267639006 883950461 275095752 509253931 669957939 586674295 246765395 769208656 151711285 865499210 247730747 417143263 283572991 668061270 369261445 503873031 331687432 952327313 666438075 964020569 645656461 687141587 524366330 487998219 715522375 954128521 742910293 307937065 970675929 863535343 178092089 507664788 847567792 255463857 252033345 395937955 775778551 316789380 566234017 985016943 179554313 401339353 279579394 633244270 929481449 634633310 595955113 405726508 451889439 486041901 831860288 188081847 853818606 792905207 729427602 300278367 817763042 720374473 595006177 254539989 459096233 355488379 257648289 884634400 581520199 969662208 667874037 974760808 158662295 345811386 163182247 880655171 622896959 536091211 210939032 189914570 868454586 806906365 465946267 698629096 616562263 879008991 309006372 653459155 228695068 893008006 962685257 291020343 390975777 942387050 711176120 319377579 254019394 920003552 550069523 769401744 378832948 279244384 806794896 549937220 113210518 777680923 991012780 423674918 349737198 190658162 579692503 561368761 702429561 117312739 163894058 268772025 912870588 925489954 546955122 196953465 325034996 805933410 410259639 625367378 415925830 367073027 994597015 455732327 332821494 783455077 419218530 113772745 349914450 259091169 470129041 440182055 349423462 294375988 740191252 922876943 657086541 529046966 959312515 805859373 125842572 949453844 456644355 987615103 946971961 757044569 643528212 469369667 194954208 284691711 680372831 194555497 466680476 615156286 963291825 551326681 341833711 629948269 827202858 428519812 343811576 133262037 940232719 949595437 419273700 380653332 932628848 879941405 415338556 264203613 152820103 560894440 811259950 541026460 229420601 681209838 540436834 264131009 429122984 878523790 822380654 256295458 205281312 869108441 163980055 515814814 231352893 728962886 665435542 150827539 403978104 800417184 482321137 546657615 539544110 477858876 485739117 719893651 436197708 397063799 101898649 676489317 984285073 523005570 971721581 110485551 843921903 349275819 644440926 697377968 423056909 961218474 566138279 380137659 717471223 238810341 190401100 123295494 308369271 289721850 431876052 826533883 255508490 535185234 479704002 999704202 480931677 783432663 150102579 968066983 900577766 279737988 202491778 243200014 221123973 189507076 410039972 228571726 263622740 636524690 124639945 424862485 316674149 275196883 106037297 631381149 205371416 148524328 583163317 504255883 448076092 808542845 899466069 395041151 974834330 646984601 136185514 809601403 268638660 168139552 339214393 565878580 910454433 445217860 276235659 244976077 937261024 818160649 868977923 326045764 201356754 585862418 470257185 350758402 255679281 586942530 134428414 278641906 840701542 583808991 720299015 983095341 263229421 932055933 353437078 716714054 189014370 789294213 165357341 798509723 733084403 359766764 459579533 527805002 873792862 427578552 422822592 339513135 192409900 996753050 456209764 297690525 252026842 154181931 862657560 668407202 930554760 496207123 954997861 713498518 426497361 592841403 573924656 810269050 492584602 281948895 509986064 586558912 209351873 939821605 276409912 197814381 239596072 760218148 410886709 872092626 639734617 832298212 896018398 595136175 422775887 416002180 526696136 757717541 362320634 431538977 975195508 940184694 953135702 983099834 460326561 542170557 690332939 111192198 187824764 237089163 982344013 539602895 853468136 324594604 179440013 280981800 889190662 843623801 731696014 250902038 430479072 243919634 175603961 650281572 920489720 138897932 986588608 410418427 704092413 926015769 871485157 313928576 887909136 711036417 362851708 381462331 137718730 973940656 380018020 369376701 120730123 732886007 566332176 285514083 239615638 559863292 827765647 651856857 135841066 781859159 549549490 372004894 448347510 606612762 615449666 798446655 243663270 231240385 601722566 877330829 398801342 550984251 938026115 315050488 914809855 914333593 975859912 850395356 183192557 612007155 558721577 458717392 443583617 643885377 474607914 545524329 140518005 410708511 544847896 314679689 839700716 601359514 998864467 216611178 718781418 728377760 478515531 979491616 824635079 779213581 544311484 229814690 361578568 513910852 749936914 730599638 882621327 174517386 895116948 631709905 119652411 240004820 590631204 602463523 475507533 795299053 979513560 551620848 393584145 106769381 851666276 496001960 803048776 750938134 187092506 137795563 527313096 106090074 694896843 871328631 917051711 430918569 608500528 319924733 967459374 851500143 479216505 555036857 645626002 837015339 711041652 742410368 924497752 154743176 791508521 133298390 331468552 959863245 963576550 276100661 522461809 925067385 789619213 507434637 773287619 637662930 804394820 381624072 154144166 396970295 224836612 539932353 812276240 156152289 802306131 497857978 338719064 373825735 927022592 865283916 140343591 803836395 613587880 611189151 690811521 473584292 286807339 740021643 365932779 679710537 920990497 235386409 442983795 149230377 724253194 992574824 276704898 780666267 295897847 403485977 391604282 252035986 196725653 647801561 890870670 294730402 832182361 818886212 804838723 215851865 378216912 600264450 976039783 538673190 698289311 503106911 379406368 616881464 204868416 490422988 116323754 999607321 132128875 924262871 398836044 183447697 541357060 963293337 328471658 205218419 700396788 957280466 823025068 794373556 431082123 740441515 962308580 971634905 926045136 940125510 572284496 150425079 758485219 185309552 816846446 186950064 290353911 504136083 226831942 538941148 209048359 426013398 607518879 348536630 170031373 732413221 606662444 437306604 641451459 874579596 455989593 927936191 501277792 123814799 908001725 268414454 122366076 228038047 843522448 422451608 233662953 170484895 491085450 896734997 921833332 565578599 288571036 943795029 313900389 896617090 350225378 869751085 582051512 750772920 149564153 151280223 396250972 313158277 725382493 762255902 687035954 456522723 991413341 375992473 986554881 294132554 109038526 991840940 960204497 495623562 702922779 323266482 907141246 222114050 938231088 294945692 544936930 181617653 489533156 486054553 680751632 914331844 221192698 220429287 231692761 771248318 314629378 778879938 808050857 322124441 289329334 673949537 395875920 289982164 757014271 288625563 971874075 397562375 595361871 594824288 125954571 135903933 558350022 796321695 142301010 799089110 798521597 380907396 855348167 953556272 499652145 399554971 388387518 250157072 894997116 238847733 379813243 296192031 637100578 517679914 824912316 466955176 904731808 967853154 702244712 317612220 290653546 924005106 661752879 883843656 845882129 143635667 159671993 196654319 644677854 275966643 851475430 544177076 849167934 868198266 916883110 302409174 714545826 297221701 156410416 629744122 721392906 954239958 530912826 868074293 866474722 279077394 126868787 685137555 258792007 177642375 931559621 278822114 290058509 984325558 884928016 780268483 445318959 556200708 633412053 482900919 418000365 663538016 265729900 199703039 232478010 806912236 860206037 778464367 461651656 368372846 990748934 643931558 291943692 761917926 395890510 214673195 561593713 692525924 125089911 727839631 207204990 204704926 860520978 964991830 675902398 678857662 879278554 311413958 264654643 138153472 839908167 778327515 277492071 447567554 990559678 667411865 548620833 218405560 732915860 773622458 153253752 616619848 772074519 312010158 621386302 632578612 132060052 901543371 687829915 563057709 392428352 225293882 773619798 983949312 342524094 483525363 595370165 354900341 550812662 942289088 893314088 355751672 538331738 353315661 508376866 509438091 996941420 129799983 495361924 539812269 823141490 110348841 647172186 639429395 152579151 583490363 287261318 945491224 556376058 481228365 836833086 686695844 591840815 693143104 696825441 871421244 693688139 262290591 249183506 113160106 475213390 600444781 781634677 547870163 294544963 814269290 980104395 585853832 787445647 189120002 423597646 409467184 394934393 409722202 770796308 630346231 302129423 454870333 294177955 467158638 162564251 927976178 218234302 603769682 901076439 233501705 434042071 758582682 127607259 112846787 617675205 906505851 929006849 376481391 231160588 624528598 437330373 753441096 634685442 225649211 198933097 896400238 211216526 715727860 795563277 873452635 422008289 143008037 865885616 101627087 662291801 585707184 215042455 676437321 720202947 128222633 931758635 219169916 192282609 912633031 246861064 819060134 438966963 120845532 676314644 852294488 278998335 143583901 103648908 482809614 310857568 137887274 144229878 321471299 390715508 788632868 654851960 293815838 934303840 393817137 526002812 673274334 317558961 283312807 983804021 725358379 784849947 428845599 543281816 246646188 577764017 760143033 265699473 192544015 518743070 906454901 583721373 720233331 216029142 734493523 987181740 826544958 903704157 632844177 626890087 126975221 321159923 960313673 689020739 615091504 358787462 387173608 761904994 181162291 756153325 511678255 847677981 693755884 170264665 929591071 241313517 176526921 542716449 841371026 278667855 427525466 439450208 699941575 802443234 902860622 152236718 961012853 198614402 433929335 630705728 644495133 174285441 520117958 228143355 883019027 208133450 261350157 221505959 896813593 939527378 301699582 100217980 385038960 596261716 790483977 848049821 382543013 532024854 366038633 964264552 259770941 372500216 125362978 889475720 876153499 334725177 905760545 783389986 461259162 930900760 320669979 455304301 478809813 207799760 932536939 801360041 234094987 230031691 589727485 484863954 410447010 367383533 226169578 965036996 363327966 179301218 213047635 884386150 301281228 376778156 349295088 183548873 685532586 384230034 781510563 376177567 622371465 833008997 546637699 979633039 277081416 442432494 716322390 278145691 111900475 872088445 555376045 260554007 415779834 373409988 231031109 237154497 570762140 438412998 443372563 879108984 947559494 344301596 747815481 718916390 429921597 894029499 401605108 892294901 659346367 788646139 748395867 456265156 745327457 138888741 362381873 717665147 450686565 509859966 748242613 924212344 199535590 792453020 940486568 433686871 149769269 512083738 812369773 536598273 760020232 650093198 421639183 929985488 407562002 463775662 456389908 202793755 238120125 847765388 210113177 504131573 542861966 233994516 530592916 527495905 303556109 555114419 818762378 533276027 987758420 251595433 174638596 594530198 965948791 646739970 501753112 264351201 379289531 666163031 140022634 951927529 127441859 436947879 145729336 423879987 370749670 200018828 341693991 695418563 614927337 848956407 743866198 713995923 295665511 130160421 232153221 645061006 620548828 881792886 181914450 299645947 514925342 635267473 494134904 583148377 440893721 998654806 381415002 743441382 807853899 575248861 891046476 135141630 976179214 153429220 924834896 255566756 373117634 292822262 910003802 679601358 133147171 252579418 784120364 665244605 226563972 633594205 276592660 841299548 728373229 970638400 683742794 387668225 590928016 455480934 519911458 912545364 487234763 556940456 570796786 465791000 217636496 622180883 699276344 224960672 669745897 487497986 505418117 240825474 980210569 184290883 219936334 101315725 860290353 580404596 604545391 497790562 734130807 868067364 250714395 627236057 821160979 424320535 189200993 146150694 304044029 546752953 652038453 843297790 177914150 426444487 349465237 389761762 596583989 826813357 138768701 385355647 363557364 590324540 243159681 431329694 338467333 420174743 456448597 628675894 215146062 442355457 941066830 796563623 270710810 558822383 831207867 715049140 656464722 944479468 820984491 416394931 251435376 858895230 415183573 898972302 508793965 104527302 957910979 161306952 885084272 344150461 472572261 376527612 851694445 362804098 732896077 590484465 906659229 854107298 636110560 947498236 411686080 171362155 489823447 807172718 334218059 630443442 473838141 120434750 774243191 959790237 144285814 707015604 880387523 535824146 867001592 127368623 431431949 409720340 553006160 550674994 366646658 717411681 422275563 397268010 667798635 457716519 118927947 877292831 844885921 521018729 465180386 986152974 750139184 468781989 275906472 197885215 852620996 345689560 912880509 899347228 557884397 675934262 988733035 402284445 798678882 478222593 252142273 767252482 377191468 845837674 456248770 487364049 245592541 698298806 533777295 795473269 662857601 842181072 118722217 950532970 129291550 739096024 356844157 513880207 434529180 925634474 600164164 310168696 221483642 988993410 812703194 472871088 673770481 318734294 894363231 373004280 294863318 125381959 524158711 976647903 732279847 379580890 876646386 458043812 505538476 871344964 167790430 998161514 273149704 425428668 680515661 318077332 913896259 544414521 629302870 962887090 212596505 121901738 470711245 146282726 174555121 975824444 100951006 722874667 766426790 534525079 514255824 825563563 396311689 534962928 528985246 310084443 472649985 393759551 578741909 280668711 340589909 417996100 295082569 957188699 712778228 156934482 133006297 472890063 617116904 394799357 421809600 559237797 911565725 483441460 891197702 440300866 863473897 315707475 833324824 762625174 295709042 117042494 762784246 225154010 293423990 533815485 734256194 400347924 636383666 154381759 968688973 376033603 640567195 885151320 997771727 397117960 148926800 237468037 863913525 922941530 777740148 878944063 701619358 885661270 963695238 120445859 778744615 405468208 617942471 419208122 152278186 468873865 562597558 219384147 362817415 392596696 605358630 445788618 318542709 855454237 408194027 831023340 110326569 699624451 478806302 996916431 333267350 607055848 191361766 458734679 892078539 246610343 629753736 836096370 769611435 783347988 172689928 533955482 550311598 988922701 872726865 721415945 532491668 231514533 110706560 316576372 426168504 136799378 839922427 186364801 603802864 318367873 399119767 181671559 444205220 824441996 273701188 495603061 953319265 722270747 647484719 235759059 863500273 862133333 941741564 777619912 169616945 355845115 510157683 434913606 813091405 720155749 218492122 304853745 727126373 308975487 251352180 442725800 389905280 327145280 678704486 736212962 752727703 818609302 814826427 288641329 893568765 229836246 297461070 799225470 900909460 898553292 969195514 542596967 834326968 910072459 862621765 347390591 438132990 708083084 926213349 982877119 409789972 932882268 948206396 992315564 469483822 636369195 352241822 341564719 508066843 293475972 550861768 605177822 804322668 220328688 999999573 906189111 614779333 558717717 489603895 553390806 541367295 720200894 298705107 451752362 372651046 167055597 637358136 844461344 239639467 706079423 451793686 538021690 425321711 204915758 970369807 130617370 927844973 156446945 743514393 121832117 908176860 541020017 864095725 744991473 613893015 178596577 398858857 655718552 913813445 971889191 336997265 371320113 876260783 925952430 246321060 540796034 198861331 450652482 182966539 480803482 128379506 995008786 808435608 188584682 837471658 652120304 291473215 902085998 211713922 628197391 301047570 175245104 822773081 243064952 326387269 539251978 280838006 399821226 297273008 292045333 416368929 390186261 121477801 454716609 861369885 818452665 748326645 393000858 777023110 865689414 145313718 166364818 256888716 362038130 466399815 395936248 742995366 193898083 389691645 883074230 720897981 245734937 720722382 585759857 139784803 401629204 213826393 421517063 699527472 277182212 142186490 191569246 289842618 847229705 257252712 633437290 794211693 234477743 568028529 721059429 615694902 845179901 439445849 422996527 399792142 721069143 451794009 137469771 150543581 660338132 958184449 306225715 842035361 681024179 953260117 573532303 284461527 942412261 575347654 356419858 274276069 432020004 979428027 829053346 750667085 892407420 549410302 673164441 291303166 791529936 260569952 156828179 875509727 558655886 843617165 659795247 113109490 266987898 820897724 867219983 934680194 374703339 593537460 429504367 655789563 650063521 337776347 793287928 419728110 379773061 531105441 738734812 393482029 929864965 271235893 238631632 200937567 443654233 657211316 669710806 341183586 408839108 274804136 107995781 578577386 796114571 102011864 768478507 437571852 239550216 684384514 682015582 541150516 291224355 637483769 999562338 627241291 629997177 890120904 777933059 975408651 449286818 266417811 323340633 479902432 226133399 994531010 532850728 999793508 870275568 544911717 882680365 377847140 226515732 789391109 469958948 517268290 848431588 971854346 747574009 928357421 567915308 712668765 399096842 677752219 974133274 470029178 681233984 507224399 257495897 774415370 315214444 450483001 276930387 306081281 483575638 258933522 341445997 427420256 301284205 110837137 123595568 311304967 376691901 913185648 161332423 886753053 473528484 292986268 500647001 774601460 939958086 337927972 492645442 914384608 714580497 201429001 864074396 836801090 708937070 482007251 771858232 902284202 276160350 425311168 335322731 479221478 653643789 634875256 266236480 778491539 125267784 533979574 124087243 189015160 524771468 705361006 837566386 381860226 234034903 737018659 203416136 662834183 215258793 764792360 545917443 542458964 749257076 534654466 874613722 977851815 791729419 198689143 614494327 441522548 567402326 206529175 431139768 414187652 964838362 711539550 787222864 754289342 560689302 342821419 850933189 503886152 310040515 754871263 183868347 486847135 438569913 512079315 991531181 461733857 967858922 462232767 215784879 878448899 369072312 576209433 971469655 276340844 430584218 261001760 980989537 506464503 650277115 774851834 261704237 954179315 354997214 589848221 450928703 884402804 365444352 395165468 795406679 698235681 745032213 374447587 551661904 899087884 350523884 955667207 820447818 672028543 405058036 970867008 184127044 674292510 469706251 359030044 594535433 694272241 367261154 429891466 986085494 112394199 772568687 799046107 314843647 193604974 317169552 995375306 622351465 669536673 388084691 252544659 675667988 739191180 226084342 648267361 506253508 393353577 366182193 857172119 823211779 445971991 550933920 640472058 151752534 532716647 357097757 926482353 516629593 639029544 744597906 152648355 665344577 858126839 276441676 371290786 108381162 485544716 583835597 398453518 393428745 700740948 745673023 475664095 593177337 954664334 551453069 802676877 137821422 957559738 248732714 658970735 674526697 662371932 860493888 969579914 203512630 273048275 935953268 834401736 834496436 331310262 506157251 498789563 390906956 575414505 708428556 440554461 917157948 307202124 712426332 564601921 307203914 567247598 615086426 259376517 929738069 395566793 881941098 655311578 304476817 741907516 305065048 946352269 562329890 753345028 252529918 356771144 121338605 655813503 225472831 454908710 424801965 759594516 727048550 603083890 337100379 228149849 389002761 750233379 955163410 879011672 438898020 352123861 716691489 882634270 903937075 868834883 994570408 863298704 186175831 251271410 579684240 163985966 136356047 756723736 757341824 208815184 804841692 746029689 238563453 792740260 622722745 387688040 821238787 778724673 722914031 760025743 390815105 132778206 266757183 774283937 493218356 540128627 162902557 651266672 463676327 943436984 391897980 248954905 364370820 297100528 113957983 180941730 125967853 467629269 548241270 338191647 410631154 750563727 235938910 593583431 571510642 373635519 685787659 137914776 360007738 101603801 758241754 664903539 540697838 362085097 426337598 285128852 432242376 776875625 914880723 254377866 565120235 896401243 182972774 189561320 365686797 622498139 747398162 456402902 527960021 814822248 879368309 479247515 932027058 432798071 423050198 497711973 778499152 467525116 709109992 726707638 277125683 283780245 899543211 886141963 108483231 737690289 991091516 159421850 928247902 366035472 786975794 258211862 344289101 341286034 927416849 882145654 799429198 841409154 564549462 959098059 487440930 175579562 647523443 412715975 810569623 520131545 549422184 849762854 235623539 305339649 247828920 126415694 831775456 744616100 802709730 809124884 646351874 204841595 905012343 923644299 354815939 353696867 490088826 162703045 896202938 835721586 406680565 302865134 627553500 802997063 372369448 383768247 824988369 362490581 505349359 545090905 222015359 435447286 821502673 461581641 494556416 961649711 512801738 475378227 150908878 277484216 353846465 172482929 879851735 220979303 765235083 245021681 847018403 128394055 768491577 238869244 744752286 865062600 929241640 220076436 181271468 219389989 870325307 374752732 850956880 909707432 829111164 549592397 814784875 626188625 932540420 278544666 774629199 273406466 944965156 315866437 570449358 559668707 839152990 470829005 449824300 810748536 847794975 285284286 478642577 293340446 439029138 602349200 172470406 325114322 816750908 847864580 795404464 749354757 862776103 114591772 518379828 206763640 215124653 162928939 800369399 535529800 665019569 231426433 359416355 274004822 549515265 702707529 685277006 592408802 374866143 320892721 954976617 439116143 307172428 192032577 126316341 732257371 520481594 740218643 914879496 605980835 613859765 996592856 954578586 321326552 395513033 435889612 551209719 654676832 401473104 154016572 645136892 914786443 901931494 800585163 638040184 444597947 703596445 133816024 581568376 158094581 760939435 547955228 976753074 167486147 965198684 605103158 959453075 762956765 713477212 741888412 429421474 500780397 701430839 784967493 357846296 633006838 461529581 495922201 730969324 254400928 376402320 253592349 907656974 252323764 235067669 903131215 624540908 700865205 265667175 418107287 874338488 456004356 984198329 479148039 378846636 267150354 403289838 687192236 705579437 183388490 600384078 850357840 269224483 596804637 789742778 601855571 264055836 208518916 690643374 879260495 813025224 205191370 826026685 452026676 426954213 653016285 585531205 563248420 733030014 743124119 628932217 508406522 883595040 828577915 439068874 468248175 394463987 184742978 864494421 460767242 420498844 606294740 794578148 546992766 279574899 100157738 306886778 504354620 497560251 315382157 392496146 364590947 694211166 333767881 548582649 514287535 467243457 905139491 609751522 578505428 724502084 330754696 943528362 240269110 718000534 699808932 888093642 964162842 619324144 459898247 772470346 571641067 171471890 607912385 733023983 482199198 951902388 994718542 664430145 938146304 886275893 709323951 417082415 575387705 415904838 337247830 259872260 219117568 555030306 968791911 406799120 702520645 735069732 983464207 989261719 653998467 190185099 452671026 687343662 676811974 791890045 621726995 470762298 232917236 283319342 698305235 114274818 177677135 413317861 297048032 338878751 163484085 464260104 802029916 915602089 278930204 746399953 704521770 144646969 493402896 129982210 250097683 767416446 822541563 514710875 380847615 281592274 717642016 651184589 802811185 137218342 699492804 254170065 546808003 194106627 276497873 472001710 912328905 565817706 245826253 284805512 166504254 242722711 713153550 192670747 163693335 861076865 402849472 314628167 973181861 628024757 169624304 162723849 743885355 295704547 980514633 379464653 830002790 928447325 136565949 397966179 530232557 525710049 702680472 721956243 216882820 292161716 260974200 135290389 851246719 274009010 478480989 621536748 232608579 641576692 904088183 936830936 301180177 290551908 258206199 998290109 105530972 264480587 673307670 671582325 920710386 161607258 358729158 523490628 644511209 505937725 327227181 816030533 494075272 668312882 830403323 862203821 807869079 108223265 248746929 407303790 676072264 320774401 760080966 939762909 139286504 551591683 225974833 882128427 736617550 821505269 221911144 171949184 602494922 639809187 893195589 934524105 990113674 569094797 888543562 194848857 468660152 707106759 970939415 238888491 331725289 985413149 951404158 862166403 227773882 565348014 148419489 249151043 458048155 704582013 430793636 338378771 631523365 932158003 295885676 849440664 331301990 501360455 367490943 710709628 411030381 628017884 363737147 211758657 134839792 400960211 919728596 301800154 596335671 600547404 533388368 633302599 102688413 254641249 369887434 679234273 342138640 320631721 282579239 655374611 991393188 367525901 970314182 883275409 735282987 225579589 313932915 376531439 163839023 628579159 968187733 684330923 721736433 288982913 465483243 906899409 448959415 372631079 878417623 869558391 372736267 834583063 766069909 434703315 278359955 814151916 153795160 652708906 437188061 144775645 432945208 911742717 701518580 602680976 215145396 954892963 375185374 692793192 850474674 164121081 489352481 258780816 188466863 933464111 592186333 384254865 824199006 567058864 129071358 262970908 179089188 982268608 228436046 263687724 909881425 102960522 975483927 705736410 705220364 122242469 746754883 677889055 127077583 446958900 799660816 440099069 695201847 384801948 178386345 604993764 379638012 596818558 355230698 805632435 421619250 902924816 217374669 773988749 820598294 382791333 301533862 853818426 127085443 294016050 926043372 638771119 874150928 824150168 728070060 810676700 202678051 368284068 120910469 160208520 764220344 700170463 227529408 953060797 451439154 600600999 266365448 953741221 973558385 513152641 198319308 679542084 249969766 536857836 393382850 432300556 932472315 419586857 214869199 663444002 957382271 530093719 893061462 833571460 257227914 403456086 506857947 220676226 950562113 873580057 818763644 312337734 153163561 902148043 904152515 742070775 738709094 365629526 530089242 845717185 906809462 550663986 555984138 843980590 145150294 511283929 967246543 969432926 309544554 588720758 451071096 690395419 784680290 921695046 964340063 214737696 558840073 680931710 866896238 273786135 665607594 143040549 616249889 806300533 870560474 652832047 994585175 473306587 832597230 438936156 602017771 229077560 440128285 165060823 962577765 145312158 527958714 787001884 866594751 408329933 563648290 641939207 845173740 820588194 191875323 998595925 984290900 927611185 137913953 355800695 656492465 955182898 553888831 713288642 391142959 422097068 349288429 198682074 599771114 636624735 131075453 256455610 340983875 351455789 518709314 304781054 532961182 126377224 768704017 612665290 885095620 644409404 209078799 565947790 479460224 542434992 110794543 619640408 141552121 569761264 795084821 569267865 733770274 436924695 189871329 376079721 519254132 377669440 949486400 664856909 990371426 777075529 410563637 211556881 474729639 304068582 910186301 163897006 833357926 235842845 973331903 810258545 762871495 494219640 767142759 712398103 922059323 467931008 786130142 265772140 650723520 758115985 622031300 999726653 609368302 494652886 229087746 378888335 650902930 591316299 569801275 104269049 136161806 241641071 145434817 200165420 830528970 315020189 667248496 720999675 465701465 487151980 529513163 897578221 236743194 881201009 262319143 171419749 366897206 420242158 603947027 810055483 950976285 914940794 524973136 391690145 384707636 788435792 991496253 722338241 845099853 589149961 663414982 677813602 699150671 818061048 749704958 367562249 833909574 724430111 154354543 411508082 614052012 474009663 888562296 594189310 772119848 235495470 435671487 474442546 935064402 489293181 938140684 531286681 308645299 445483567 869422020 644485918 961739927 344590598 686500122 727139699 578591032 348483242 234120596 239100659 785484918 594490126 228735233 500801384 173024590 565294269 694901156 353733582 199850734 305371298 475848036 969895864 591587809 751790114 618976587 865073497 306603453 564722272 904934140 843681259 183364440 545187193 750974574 461245855 576531533 621356957 232360772 575234509 900521202 999150796 464792561 683662215 250534812 247448289 470522644 577886624 463625510 635957692 253745703 857243909 114440993 427862898 880022872 128288205 275778519 526733331 512082074 479410475 493635856 464304791 982969727 204249916 489948318 514564427 608242912 151219212 402454402 473342569 785147010 779110990 484594026 729666139 480512023 956569896 133800271 662319627 246626327 767876712 959177080 566980623 823433995 521009415 616485585 785206690 441024544 410922767 487274111 652833031 136078560 567695182 749264360 314203124 155739773 134798192 273390436 579230401 933981356 341155791 524103945 192382645 362355045 939249701 498805767 881132594 941736043 965587191 739935265 995036053 553857310 107603351 467781323 146315978 722746215 328248390 847111660 496826872 540031799 371629611 649819907 208200759 630061814 390550675 232535846 106483575 684482632 215684138 170018693 880340168 930656344 920635189 152833525 357990429 914497091 547087986 923856554 248816499 706319857 346147830 345736042 508777295 983007721 362240931 802204715 924580396 821606983 165053536 868415359 575810996 521968618 936877789 845863924 252728102 793413760 361491397 935949946 550649877 375372650 740015080 238679070 730299069 500993421 298816406 922005729 394517338 464645234 652181718 107436514 943861051 620308404 314043448 878887345 260091924 676087566 243488765 749130143 763493872 295816803 624199633 390573513 530401076 785908858 947132092 998047567 585733192 609729047 943986434 674105553 769941854 814388092 639602393 677322983 187653254 331886670 320673918 616145073 960385260 850550010 164066774 695778958 682416409 850488574 919133988 337294239 679034985 486468414 590343717 787785270 355046384 726449193 895053660 493348791 869511864 545087634 553273095 541609019 154480721 895331323 919581970 996460722 900164161 604753750 362320962 401863030 835308576 226786762 264834672 859155726 572672758 338195007 838349057 121274103 249731220 339602366 860905044 389161721 830053422 551290364 886833547 592522092 477347913 889783653 916229651 762064259 229834397 620060480 294008597 888021293 440921640 640952948 501165745 331366406 940995341 806015848 170245384 731738372 681033537 145042241 288907346 693873359 552532890 485625670 529718782 953050024 128441336 271750419 154521878 602464027 214632235 507791246 183500089 483265581 438232383 149391891 964772587 125032375 918960923 254523415 477544938 652827474 779552345 611825537 910051864 618652418 918008212 257489595 175922039 911409832 140262003 799784847 589335870 586583542 805211265 292980047 885450890 762077869 980037649 427677227 625430202 361225432 787611756 630035742 645777760 709442302 156620624 623939121 141287686 832168911 626564588 140669215 408599291 165775712 591350120 557638906 324923097 534633402 755312320 498028982 529990973 100231747 350214383 355385111 219941117 277103591 289901170 552699367 269326150 735698116 670876609 626491026 756481911 632596203 125707909 987130271 123525617 959341657 188747994 421532790 964982741 267984631 310163720 606291116 252694660 274217156 266053964 358275385 748401389 337891554 196863762 937146390 103201245 889640599 703853145 817273119 377386871 263896354 738920240 422067304 297394095 950136184 776156596 343342366 666612021 561899498 989949596 741547169 274591726 864624237 976953405 852890326 321190755 266253898 735394704 810669070 508815959 905668367 651908717 234594490 890116048 882637794 554293495 608431961 574858541 858900963 748080151 933977918 751918611 664244908 546493853 438917828 506462264 866377753 955052958 657002430 602155716 704306807 830253632 837607891 468847955 246114579 157256009 615665551 264199504 268749631 799382903 325537678 645886430 447049287 555322204 306610342 770504066 192412540 765025513 203919723 724080202 326043207 120446689 734243505 338719257 109126987 665899606 348808036 188656582 966629688 720291139 838448419 570957133 285481613 807949873 447479252 937743599 718658923 809768249 274665650 162019669 902305258 696528483 707665631 171494085 418136803 405096423 178187572 574785131 628878741 656827299 203069645 124101278 598604164 217880791 773259554 956550352 362956468 686605906 142857680 560736333 842507629 165986502 852321771 888696809 896025024 644924295 532492234 977137623 347809107 149173557 286888162 371673157 300319863 904747017 971659585 411384316 623360973 932303254 331749755 379647288 340287045 803550316 319100539 805611501 948148980 685725196 582220501 894785651 501081473 546542002 255828818 331605295 843840522 428255098 529966524 843268778 842403416 185679548 825991203 429426223 715898558 721636347 986421245 554967543 563995785 131850701 158336616 510006598 969350406 897662660 164926420 890921272 694313634 129215901 657918459 104142929 496689640 452715608 499009254 987384668 155515119 213066729 768287489 478560796 991672351 663452634 651582430 900020623 930979247 356516033 345805532 209260420 244223455 534859779 866364988 959543337 125629954 984689986 450544288 769296542 144269721 395478881 101085843 602840104 273344303 262652687 296547217 655604033 114469004 849111855 699903634 651440243 201296494 300343304 125263087 445826820 657711814 706507054 693650878 330829550 229730351 790838961 826699672 269372935 386283119 383290639 308399322 573807026 906775014 315606851 745363251 413544739 954392701 564341118 550419366 453566068 762322687 462439562 402898178 704508737 861434353 562632694 426053100 368562479 512735703 595629882 896147520 715420949 369169998 428577781 991683406 443402920 469756562 285208078 589451751 660421675 888321487 102514927 936787270 280437114 406766249 477958207 375408912 445654634 574346555 191463988 544534665 723132588 994532980 608772903 600305207 267313396 956305069 170105710 451616715 820294961 414850660 700238508 847611311 447473673 387860656 875606860 816740813 101015139 834540236 384311004 304702460 144865507 774403431 584469374 269176748 802454306 487947618 890421821 654246479 789502844 963105348 907087527 771550807 630158082 348311017 428060141 194228527 567433405 376958792 111254769 641960646 332645706 604732580 494706929 550421153 360434513 109556276 637246174 992438399 642568497 368763772 336286721 318219175 599070266 127912811 543481841 531167882 941978820 249504823 583978817 239955141 402005716 386415702 770965001 551778908 847164166 677656814 588993975 781357820 713328894 420259403 155229469 501315890 728979205 392191114 709504914 742218534 356320635 788454802 236561405 400935097 483679120 276909324 516004351 708132735 427533927 149464392 693776701 101256375 702616926 780915689 872831705 307707512 232955463 165264660 237769212 241795214 674780990 610946497 840764159 477518638 184574664 593857667 542616955 187161301 438115847 550490368 404201119 201486015 869047839 854011505 767183606 170468693 815404419 486333047 848665876 397857958 946441169 565189451 184215916 176553628 524011282 406690056 978878368 609404172 826195579 606092620 538098716 721012901 391290821 538905484 583519287 113578734 453483022 666303195 624430139 349717259 103786308 866333224 623797516 214532840 682368275 291591229 349640927 735224857 115843353 317946749 677276222 874548655 183516652 401325219 817268649 833277133 719674993 441399548 239859895 162176955 277178775 291523713 229135395 388344761 295711916 474915488 775933433 734261298 673828733 824818685 515764326 245979291 806726052 727827170 612022153 926952692 999911655 249584253 457341708 957751915 405803064 650494699 818343588 179509620 607322860 941248184 209265284 388164113 189509750 537870781 801260638 873897602 758103388 308201061 350514569 984452860 567058121 982944588 776674240 621969336 291957549 306007285 975119167 869872558 581063771 170162148 572346892 879686818 532899284 349905375 545741812 350846410 115454158 903955716 941792640 977050793 681370098 777277669 781925305 198497358 831650628 957762148 563991478 275495521 749958368 719763998 970299258 397750406 129554426 580870411 970521007 903009300 371288514 468276069 863814217 285313243 866262746 246200062 781629571 276682979 363151716 122274173 890294489 337574523 190396488 724022872 124763472 675921225 837605648 404140658 286556625 439442714 759191205 589865555 580219522 980969176 654462921 196163224 281560851 415645102 380874593 955967119 571051007 891895713 453722135 869938115 926136620 730750609 322406219 188353821 501907715 958188390 328524591 773249868 313339523 333999022 312149711 188390938 116776079 832665972 261168918 171124776 403648034 499014770 903963794 264497679 661793281 792162615 202427856 625042979 511500403 409683943 643738478 581846806 137517879 327044807 708956838 545466132 908422940 191386984 411509283 389691157 843641558 900605765 851036729 572794887 131769112 374697955 553864544 896995027 699665094 663344045 486666453 926695920 857452008 370916747 553422825 397414146 318811206 619241419 148695736 172078155 471532353 676282262 984533134 670378003 358510181 825970295 426542282 151397444 420977364 732813004 817909021 549512978 888022062 237835156 790485696 426386217 520293665 788934370 618665965 187637215 223373727 171322605 618704428 149794174 557839667 412697835 904724741 394861599 760259645 311835340 587059463 280290213 249406341 765683004 534264995 387424526 542840511 728287908 630693086 159686588 883519642 985571211 961352032 856413420 827705419 940173446 561784250 220591062 245965782 324218782 516598372 675072383 536795325 216732402 265293976 609898974 713259575 316084555 885410180 830442643 297280355 226809475 986289824 930833186 991388543 861844376 407907207 940818657 110614453 149808101 608773662 638489854 906131049 240109014 741345569 602082550 556923968 986055318 245460233 676904093 403527992 508860665 479806093 830956983 902987579 994661113 191334458 347925863 309068839 855100116 925713345 684293817 364011354 703598213 916322052 434899199 120372744 349382601 478156075 313575808 745337930 315403117 111363218 144315328 821882396 854926449 722049654 461988735 335904340 932466732 257797269 700776427 613882046 810133141 720827607 308939814 248665019 935630755 474527307 443702059 543754097 134685550 708237889 483895847 591761249 329221896 988113521 923597667 170766456 177158883 635012632 204195641 563652751 343744830 581943153 138108459 524342352 177518393 343255988 997214570 635611941 693619963 129137561 541688138 277666130 946747289 913273324 503376895 530942870 576380634 459208692 204174110 576240638 640298972 258917214 612606473 459696938 222959952 397306120 984052117 522149007 275998137 959189686 262531750 273679237 628642171 727868860 905696990 643643090 185473103 487427428 687090349 656048989 148973719 391022074 362756971 553565895 483071523 259458992 642225130 551949984 684405240 303400509 711955178 912512533 655237392 626160376 672602389 655821172 730837571 901690589 731803578 505064466 226582429 744463577 244087847 225347168 886925987 926794952 814587079 115010593 881048332 344933623 848783150 131840394 776541745 715811045 773269621 948323181 138152585 367153841 753444920 688342884 744661039 993861277 720843603 495937945 784623536 219861276 329843589 733518689 333882987 179141293 253142678 420684676 463551486 822655495 197040256 811377753 454158363 511220659 418107557 899398447 378389959 683468172 128942395 378449860 389629284 409206286 302874256 829549780 700038323 132384167 938211886 615257877 892967225 801623148 541976825 254730659 961836524 282003682 873883958 650402093 820581971 677261996 654250843 635433702 389937693 944097550 237113821 481559898 454549678 313696825 785041657 147334826 551988013 560956329 520911260 559405450 225573549 370828251 219462578 787441270 320903114 485913165 328357124 303251170 142247960 399797322 558377722 737641828 776805162 543899888 695786383 465568550 779211254 235642777 559717911 508338589 425834751 560351571 140363349 463136780 173882055 464890038 881362230 227343528 116584396 615829223 547409876 494110752 669238784 369639357 774269152 813841706 125512213 513651161 385568203 924775170 123343513 645100333 905626929 812574308 653345433 856085177 347207117 720708183 600938162 848226245 287672605 876790952 184050901 490025940 159136907 617721459 882884868 143849767 492076261 170386351 920097564 786965125 829797337 620863457 534069000 211554615 937606102 967887107 465259782 558190467 508053439 646534775 193776686 479735603 395371525 530192472 934060771 688994127 251960456 515229087 954678237 791046059 220758924 572629762 938980479 933968836 417234951 477130987 541878962 686586810 640566730 499486679 632115765 917160439 285027308 256894979 578970943 598941101 662890730 239899956 291431700 100810676 835125000 418864709 547541977 273761124 281248628 398897530 288280069 804319300 175994246 614530119 418112926 797413076 106879044 281913666 966956115 650801085 203365105 487958409 978508382 876951490 299922810 781482773 949641654 686966528 972778345 428537750 307596296 651310185 541407977 453885667 689362677 870423907 726798278 407621247 441347821 867681587 307585061 501895774 841947561 842867615 660287954 971246009 379334769 484451316 701076525 142452328 513917736 330645179 665475566 821417600 676837579 657966627 804217167 100465823 278175141 148429024 654525510 968073194 275885474 760233189 864059844 578722316 591333989 141027624 447418435 245199231 642389228 835772610 329200839 519845958 867708183 493640841 469871611 180815387 387547022 696087001 829049400 702376190 606771072 316778230 483352812 762483411 728717033 440181545 126087096 171227806 896370612 757400126 859975807 277171753 413858339 239027314 886919506 894180956 813008783 333338989 911133884 522090074 838289337 306164352 143431315 874338280 639988429 899068301 195325078 881769336 109065074 631962206 124449568 151793709 483450003 343683129 897080901 548829697 649246562 618763980 783705349 512572607 548010916 539375519 478713736 403260636 372316594 387387309 950341386 541695417 220586540 798252618 901200681 237172542 642232701 791591815 701821485 393934772 885169451 198197569 723130381 565932970 209736847 938095963 396979703 645683269 346814939 857598439 537277169 265351570 373507380 917531942 409121567 688781420 479500191 540457611 840631783 680832156 403547113 769787751 663919863 430294891 478129525 575835571 977849364 779554737 519207531 897134832 434360898 375024607 697509306 207866710 296460411 364064763 840791064 848141520 208474405 963091638 810738504 770393915 902875044 192442606 223178226 545581062 519555268 260415368 590373629 202908466 755148544 949320324 379307974 561086951 651211784 181892129 105378067 371097387 622403490 728842570 633778330 261760028 988342358 623526670 690518613 588304005 124313034 249024565 230219994 657846249 668538348 390490443 382997608 231273205 571578303 143533292 577654978 658792265 758196049 841605257 400637148 912183403 642514690 661413804 823859730 474153249 550519534 227222663 756098981 785820677 616851582 293965556 882885368 721492671 816918985 594788300 808576328 955421647 996556522 383429453 380971340 832936681 980359114 647225579 580337162 641213430 160544912 298619501 685656388 948556723 706207126 299800866 958260976 314369608 522255113 917654646 825815667 834562109 755783394 917007118 234813459 510155513 229429887 435576970 147125506 620789800 480733098 514708138 842250714 264966923 580620550 180559224 756948872 272310436 791400362 197966852 590881909 880377077 631459180 646107417 736371133 789387960 271197611 732365825 165808752 914372554 263403157 243729258 675756891 479129227 509577388 625954990 109648218 844833500 452730103 858338084 958852689 222907816 763637678 795673883 936084965 766280137 245880824 656318724 251357452 324883612 850482645 821971879 484893659 107104053 619439944 908931619 558243613 479974751 723286525 597348872 414297225 339097881 824095592 203689126 508727733 499585648 844827364 821387104 387975996 120680223 527265611 401919507 175867791 921724513 818516557 766171166 894578993 222123635 274345138 757192576 754052750 493870104 147585429 801852083 119445652 670951690 324494505 805427773 597431904 190344326 274235884 338925923 806317162 646528957 257338179 387002430 901140269 517149893 853369531 679206172 580042675 503353514 332283970 195301948 922831048 978849591 932606738 358004954 930685611 161237177 630681768 300141230 625744690 911366478 849971353 335099110 707294097 324129894 459831413 358351738 664365106 273544747 270077074 264291437 186439727 703181160 174938468 562862153 472182332 245508176 127596484 903672050 450924137 383385876 977557512 743149115 847897548 748588589 776771899 623564814 907847008 999369526 560938764 788212093 120779021 276280856 499825215 432190016 746788136 518617303 781719336 370922445 494725488 136769095 940119745 326084286 530211509 148611290 612560802 345106015 469930383 115785689 969448961 657744199 166023409 715425475 112802140 586665705 112555386 806567386 355754024 166860792 465982416 897692236 300977279 353888890 145793753 549973845 368929682 456730539 274817542 595464746 594362204 507124650 396732075 573994407 242183456 749256822 568325622 632637625 300692669 931775858 992439468 617117787 445957427 361523545 554195991 810656253 979555661 526024995 307173773 770389645 915982675 885126504 384104308 422890371 291768885 301068896 988359156 483673115 309385881 805008845 213400192 419240709 453768807 310391165 412571676 568127840 325180179 442217091 240038370 811946932 804464112 824770631 738976521 259505250 494304205 338895629 597438317 404655779 316666932 987085266 366453615 653873751 400033603 228948194 469076254 276106270 443360248 875953528 854677634 249315845 904082116 313564857 184269455 819563241 517994377 207589256 810627456 704241010 184106582 620943385 256399468 234609757 228363132 478268636 880433838 233413254 739857895 928316072 313040856 441706172 971563128 169707168 564395899 415628323 434334631 326491508 669005100 786080518 575683387 327953848 443966999 884915449 727829282 509273996 616679895 886763642 367310870 668690778 430609276 104290090 893533349 222880975 847909760 123168704 715344547 417554789 738757785 893206351 502338570 923317946 614183383 922870511 327771085 205607287 157293499 320223212 371979443 745908747 834457596 228756531 917399919 559724094 129176532 874528540 812201479 947938478 714322600 585599809 918770697 948841541 204875452 411256962 747427274 110476934 882008167 991251333 227484909 116635538 903903827 590758163 455737894 139859603 426213975 620948903 562304667 463282492 827546751 981382907 938170950 685816574 822612883 162584561 580083532 948908576 793009944 795999348 392676363 230245155 490672110 723755525 231628273 339490554 451235159 156443250 736078234 605656597 507974891 617418741 855605676 558054035 657833386 915448732 432582947 418471731 139833891 683188464 367427168 397654812 112660197 830468433 988958935 169523544 367718811 195897833 103561176 211272476 620286243 471833497 159203355 572553931 773885223 149629955 926210235 303802666 260144289 570775870 582091130 875505738 957042047 500937076 347977026 759352237 625971599 379725310 947702174 651271449 739819669 516769362 230447703 768614011 128577928 450807900 337655644 155289241 511233698 586538691 278942726 380707188 545929475 961133730 285868187 470904486 962251328 179372710 864101381 620100076 143316552 728040586 814935171 116724724 763236385 586679434 816809678 730607884 416374358 575023559 864982048 644950765 475683810 624088731 659413261 929821074 532329895 209746879 229120456 729726082 506031709 906480225 499721104 778496883 143499441 444599581 406974054 725684588 523332263 868362098 212381318 495941578 813231596 842569324 349198339 844863499 654150742 741953415 468161262 781868837 124168182 838300576 657187714 940102939 222871330 939022698 529156025 518534423 149673726 182464643 288584497 738261349 742991802 535693469 654256299 752990122 268874962 897058506 953040919 700953515 969194090 659895556 544390149 133274296 432849171 398999634 785125946 982982715 366027820 896473727 472750287 731089200 641346729 980038032 193199886 170281294 257726912 380062938 136078614 399845260 753664893 890259811 763837698 235101350 545586585 509293224 175672929 947386527 346129570 288766233 965945773 420870336 882611851 302411173 731783671 137452798 482297320 511557059 897666745 578806782 887236408 298986839 869496416 466197220 420500103 837256460 604070749 835205479 860953980 296993523 117835304 202623888 319740258 394519727 124829386 570677263 806886082 475350568 770398946 435478743 904181212 740085250 301971174 111164692 599711736 273042006 817857329 423855049 473008180 559573536 212673665 328686023 377185312 621288396 534433065 988709262 248933521 795283132 539238889 483880753 543734662 781388118 282881665 700608031 938414146 174541558 359635758 361013893 484550851 663372070 904117881 127045763 322755673 658839843 240011444 490881765 185399860 158306595 163858153 212629123 215509239 312366534 981954874 685787367 809073346 140360813 102799127 852912355 441112967 191542323 446580250 952503230 343401641 373052590 896129379 204911506 933231557 610610522 406733887 996032593 694442734 179342111 824072288 642753486 925698132 817503102 163287807 302263115 488840039 662215749 631171563 655789398 755313989 667035649 425348604 496876435 244611944 973789503 436050216 609128772 108477381 669897120 601458670 491770479 727149091 385969742 330151235 295888528 302081106 540963908 238902929 583030239 406344205 857901418 339257043 990078025 210536397 290901362 909018815 964131346 921260248 704438875 431562950 481564119 723614207 844625382 813184623 853945886 341097301 580551401 492797571 625422766 770490631 547209882 754202903 773011121 283774882 568998645 108950266 382691614 232770557 339010886 787334085 623960173 542252430 902334361 155443234 845993493 119383444 658215347 517184718 768021871 899785582 662437167 469407587 938590570 319290713 827195504 399396696 422788818 578460927 769266802 513195617 889777748 949312464 111498523 621173677 953855739 517675507 160912552 550301884 437890394 697144019 124553248 411636219 751877622 189197595 367392626 642651016 418900246 591386003 694564513 404258372 982720399 802314752 268903695 617167808 778246111 173223873 899350276 939285081 116381961 712461884 279583287 729515809 989163674 174992042 219518952 505552645 601842287 996873288 208458886 886260825 664717262 813952708 968546446 714983484 986986736 413738153 282981841 631014888 516563953 640561154 813718747 586357171 615515137 496703801 989574458 259901117 499192757 811653429 682931125 865645181 561065728 135486405 294734030 279151043 611364826 519674343 789062922 296895470 750370984 343081669 769446047 189956270 453817866 562277256 789948440 349798787 583877661 333691760 639739755 884392341 877875010 149332319 600770111 497165259 408248246 761139872 401640694 413753553 857249439 274368890 237835302 934071258 559413094 989029572 872145746 182992401 721292677 835367620 235322233 261275635 788560658 358022199 489339167 103886020 384622649 183180244 477956548 290262064 838726388 100156078 189039214 283508682 227590841 239054958 538920689 643659407 481890531 914427992 229297417 934512598 421581387 697097136 357649449 621117290 590158712 795778577 336592396 525959117 489978069 650543153 168246736 740488122 814925451 726686583 627232274 715558801 966927166 704396487 633424442 470567682 628844090 376550613 100271465 781713039 371242347 917332960 272799474 172878411 819351502 135638608 945839378 904979079 900818220 209113082 601013909 655705110 874199143 278751129 558475205 747718931 135583057 264886540 717263720 923963747 900865062 692877689 526585611 960175999 445816422 617548252 868213636 550022314 602401165 283784536 362051679 929587416 768903962 399796639 798020402 915582702 307399039 646722313 853400896 536209173 505855422 781501386 628343687 976574701 594625367 403372077 757867496 359272743 303169067 284257748 977859930 460792777 503630884 137657460 241646692 823438364 567583014 722240146 279184425 862193495 795468055 979370581 632468691 572965215 737034171 226397158 325324963 989876715 886141848 603064184 574914361 884356330 336813828 907013960 442155111 539255024 575542954 697060700 183520951 482522153 111190337 549191462 500999944 140878957 687553736 573117394 401154065 532161479 265346360 610585242 596771396 282385170 534182383 590526597 671733970 331420192 307174881 926899511 885587769 247999857 654096153 626874498 942058746 230579881 207857627 456019411 201278275 902984340 373011390 935121816 844451675 119558888 365665318 172135336 433572414 931023603 149453095 591356433 780501632 955979392 782708317 212125681 644979304 159210956 311079217 244065431 430791666 350918537 799873874 737303862 421877219 690740528 947138167 928765045 650365117 170345738 253935279 110617292 345636685 584976259 881405468 358709054 501389546 818221607 275747625 267152897 403501966 260386096 408842847 530710223 546137304 287068948 645000517 831063577 967172722 537977869 429897561 923556953 869595686 159422482 942673613 718742103 310384917 526293347 809068056 901604403 724656646 901499061 527679460 321036421 509356627 804700709 266617140 974334189 730838732 413467268 865519753 246074400 837686921 177048223 809280053 133691349 388469234 971323435 895759921 600044474 705000194 536450891 872194598 375157455 159714798 802166059 509907801 211505846 352835743 652476079 614376891 276596985 187772338 542281300 761956663 945884915 159918713 799368218 165006518 330743014 109216142 980861671 922137965 717554590 706500127 644742646 622942582 449273285 640751518 340028021 971806310 671744475 650926825 752689688 758452864 996968793 855314488 696809819 762821879 881861032 218373826 471395548 388034634 803143255 977536688 966598614 312887249 606270315 485178490 112025361 937560278 661440870 102524374 161749627 258025156 209212823 967616456 856777875 113994404 198895192 980968455 319278552 318860759 693510766 157049905 694316234 725585638 289812754 181390158 828804321 520768390 921442362 680540765 895725040 581715522 929777534 677499934 681804671 453040197 322918268 278360740 729924394 508001268 443715872 783341444 451248228 308616598 548461357 341158780 696712067 386179414 115222014 423179020 262105881 949524166 426489969 863947859 925886968 218589769 524879976 507503510 816260866 498572959 448324634 249822411 822659647 138575659 427798078 508295274 727914375 268709878 898210722 292882991 251285305 970826814 230749615 108948416 475645465 845328774 994738317 910886120 649999803 821749404 907799879 108609474 128424638 837562322 880733238 543621764 414461100 980494166 440624417 628228517 372741049 714959473 902487540 909524028 711100497 426462219 547390745 873926147 347599447 942219662 590911239 714906720 384883682 934002136 426087936 693329532 374634553 842283148 300554550 215640295 292107613 969768454 687821130 902756779 695025884 687152413 370756123 198874281 973464591 287028805 611614830 157844358 426007393 362866827 320997217 320775845 999424572 239876218 255254116 189554957 306735544 551576380 778798596 128298332 730807822 992595423 939812092 345764399 559784278 605198858 474748581 927271898 309499951 886243467 217479049 152732142 166547853 170982584 490977398 326032611 158236139 176906956 452363309 851868798 347063838 770202046 623755029 818074490 198969615 904886823 462006826 724659009 391562233 615544120 744283243 863496726 445920699 780334106 856075454 983161852 153657634 127225340 912888309 907162754 898269022 334772165 524694896 849584371 302567587 983951412 648770407 391065231 735503597 992253135 127264149 607133218 984453392 930998420 275437729 339900973 398984024 300121893 725309951 343639171 129956343 262276704 239319090 502009704 293971940 366502120 351191717 163924206 466511657 108972153 290794275 299698904 732693323 785586229 432314369 813461978 135882574 935147362 276333409 123703669 211127065 773683789 660657665 581037817 165757393 609983111 339946917 411442192 807406985 554648735 918361729 631499996 508373375 315102055 370670569 755549854 239776139 866031951 642243318 981774299 859476534 514691016 351503725 567082859 723256412 682172889 710818121 590062430 409695233 276035325 727309411 866018013 112672577 114253993 746741616 545883361 176461307 246947730 826048520 591509597 862430461 581030904 250118933 139939984 319908412 692553481 632250481 763120568 632275599 497620115 236191624 880968813 174758491 263589271 272427766 793276248 875866255 989819433 768736447 868368199 142436121 244664523 794514936 183637658 730773428 217308329 412716629 563935074 696755009 559836033 440198228 797523213 410032818 527842525 518621402 702894233 397061895 852689809 657436293 899245098 907581510 299300823 575730828 714070623 270102570 658193359 556621901 724194184 727365480 432864266 268928285 842970106 869532228 996609552 906110974 700331762 517627703 822985832 809769351 933967169 844720725 240152157 817531750 959741213 974929743 178222369 473099099 427614297 158276001 375650865 573916501 692385984 358141120 608970481 435693372 488184105 105181023 773284592 590980844 975200732 538976112 520356069 628335089 825667599 487373119 264725307 792178933 330563378 621326053 400097278 602905932 547398451 106099756 410681877 448700973 329244449 707462722 444650690 128138042 718374903 793826651 107628210 134252075 426938834 793139567 786573446 585204523 885120839 978056940 760202154 568154195 866198494 945982730 587888672 603237844 577047464 179155378 194295022 675132646 260988312 856431162 556805779 215016788 407672465 447733066 326005605 868978531 904247972 793232241 829098366 832399466 484553294 270097368 517431347 194406469 113979689 433179984 116381390 848409949 236728092 310746920 336227771 478867144 231501769 590435304 190785768 567256092 664303698 120066980 752386036 640501315 800385572 432169740 335159088 554416225 486365662 706617434 432874678 828531612 430675156 701665144 643039335 295927644 263986535 284826143 517573100 794706208 189428657 235483808 720216701 216652601 312857431 831804809 535385640 627977723 508806035 932848873 919946523 629977180 651728823 426438541 156485224 999800278 192654525 497776398 219115166 833993555 704262096 444333946 393609703 714477296 814573667 167253447 726889187 185235161 994996187 797368558 806940265 426681463 682419592 427352655 842256036 387068609 848644305 994081468 296247713 642721354 651716126 274768900 767489057 109196336 373981284 627555468 580301966 515670180 712012297 414876946 226696810 530151537 519559207 586979627 783706662 795167096 101356186 449389680 740924398 434786376 192073535 337824547 892982047 726092910 855349412 990558572 814681152 391064844 287110218 963543771 954197854 334888203 211404818 887569935 290268119 694391408 108025323 775650604 361070169 485227977 710493652 671433461 381962532 202783223 317904872 955158613 207824862 901531727 539369189 724496835 510333364 297791884 670609042 296214133 387883775 403717615 997061926 845681387 176885693 179833212 535535506 912497588 529686010 592767053 829736409 407479737 406163713 893871451 842091903 634438519 573253637 542697589 222110749 311865064 156484698 898024872 338586658 788366773 809836138 478776043 113390401 953174609 282386579 978648544 173353556 254866361 133886695 646539955 881825430 590755691 763257715 537281202 837154685 132566736 209601230 160798456 650018484 270613203 216888209 694698662 963165594 554183970 643158991 195941994 311079251 228960791 103991104 682882028 766847071 195562600 836108039 550248001 467110183 606455251 592067387 362876871 931202444 170982945 783537829 498837153 713015168 387886377 371987316 256306478 865036387 327467079 380093985 397769552 186065020 116482522 248466280 348995568 688338855 538902801 956766927 864295415 375628679 127649947 107324715 161600664 434183028 723743152 155169550 614876863 722733418 657387116 694804855 153391218 353225284 241977968 898643661 619278383 998668954 339502266 790078976 680721129 462856221 799619375 256796365 790593116 570931635 542812535 924817996 239348563 923959405 433873501 845251959 857357929 886512510 140975445 342555266 834730574 121452759 666629251 854842837 450200761 650656629 383230031 310349672 405020978 138979646 315582751 622033977 426332451 138607277 395928210 127656465 667630692 493033439 144125930 270349175 686136269 259350908 762930783 392314906 594485622 828804769 335854290 906808733 302789674 538490587 224886143 899949722 813495659 616912761 592952320 424579660 386121261 483310931 902028452 640480955 918240909 507322555 514098166 652078244 184360591 427906992 365764610 608050988 916915299 690224240 633005770 245469320 727884885 440789785 191604846 699221572 345440142 388776669 679015288 563455415 532039529 118309240 240461122 405444531 810300757 903123499 915182696 399888349 927756989 802691790 518199855 489198500 426020272 666084911 138641063 891564091 165047493 512999440 157485921 325412910 663877011 784743782 204587469 742662423 177257985 208135839 577995088 663267829 698966143 296653597 761456285 125122527 434128577 993413511 187483791 194320857 794566165 109504767 635292266 278895606 367935329 497916959 818020494 266434534 628541061 282347185 365954856 218760369 982618625 334302739 347280310 774335334 925398483 137408551 850399353 452837225 453824958 696367103 552333382 542549432 172745543 347364930 273778263 808472863 795635527 169036121 547130731 228846682 322769897 271700164 556920430 824411466 628220674 408664418 945858938 710246817 557261282 223818948 952207054 853295126 520768534 755155520 630264688 773339932 549474622 647034526 452234388 231607812 131007515 910527776 472072627 353078007 289383091 743355942 589546481 747487248 541660236 432718393 286829442 293607395 171020020 593094799 426031970 519649702 945893172 472216002 189147518 759885241 554201321 763994127 313499153 131525135 310993849 109930812 515111922 611876841 303733262 574111059 649735270 928410745 827449728 208212531 538341789 722305368 459285701 687484234 636124513 741377653 232094145 614153736 799117043 221311955 427867110 541786409 290378243 392801308 489364536 269173532 960097472 830689710 416602629 160383504 984020409 404987809 719886655 723630595 311697396 191385797 490042635 619582688 409933766 971206428 743053709 685279701 391696268 233361549 770727742 371008426 681207696 260489644 721512083 687069207 586716579 742003378 812981011 726375475 142532729 696438545 815686783 231066500 544992525 517801886 426990068 727472881 415485990 104879583 516675834 992950456 909802368 102841684 451206654 737255047 828961693 539787555 221256460 115696235 684758467 526628014 560009930 683860909 578144224 274112084 162753595 816625897 575406457 483252463 778826151 993385228 138641668 643633739 527055432 829084382 956810858 758619960 627300614 863004469 301541690 192835769 213225221 355098158 607094253 541028105 476709531 113779227 292727394 601633290 199814290 875234362 210165252 208397321 570502642 248379804 526102489 179963748 179734177 803563019 504156894 133363340 685146997 151100657 849147341 836210519 463996097 455595567 523677293 857466964 514442972 270580529 361000898 248294293 940437807 239011452 506059464 751958737 470629287 931833676 299106966 752266940 853298215 610032895 647219263 904297954 623907876 927303526 706429828 246374910 379889463 545970181 126354537 619058677 880163126 146031960 582643464 564907420 901026289 248657013 667097692 899996644 765202263 135922459 836636861 278188143 126336848 742340697 212513677 762176970 896164137 137288615 429511871 280580158 988069696 850954718 809240970 460643078 368510910 634994218 837060922 875899853 546291568 552786329 702693440 904739909 990502212 405404483 559860671 480545815 452185614 539407283 974864126 422806750 646548364 498698444 281074690 263221727 119288991 666742822 724370610 471543701 821037483 346956094 945467724 445245305 924311473 443366315 562678749 457521647 702770202 612481550 319668193 745120774 110657333 777653965 803502738 833740933 738449783 801555905 253346259 314396409 728015306 385815890 996765080 911544228 254059328 572597024 444038306 815612208 925374816 951847765 602289086 783362700 421313741 714651338 780761636 457039131 439850491 834053524 635302353 365579017 711125946 168533009 697999846 672566771 816748314 453374642 841971359 954331272 694275558 510350026 370035184 593915322 949951279 797667311 399637987 182961603 823432287 259794105 214804789 462595670 591377708 830333863 556862435 408336880 521044391 435013150 825577904 124709486 628128263 228065967 652788784 534670737 903513828 330260382 241461781 728670893 455772378 586981419 592776386 936155620 577658853 814732562 630465251 202269178 381314382 264075059 414232243 549273124 732852176 463616129 171844691 466561815 528957658 719254939 976249365 319929272 491777322 758412464 516367158 517894407 262980342 495037405 605828369 935195637 331768974 873021562 203805042 340120644 398384889 241112750 297389702 340428321 842489357 475111704 445489671 553360636 707677068 711416471 582950834 849058320 652109289 503455975 100839072 654680233 410360565 150678386 742035082 953314021 527880740 740892836 722260240 695889844 392284547 860532898 756442330 137787271 371779067 693812890 422254746 390852691 741735112 978685793 827274502 544160145 219379930 425979840 693214061 133500831 573989409 189759384 825641631 753880668 329420984 385550446 655210950 694466948 575215713 365766769 391786360 930791009 684035994 488172187 370615211 551263637 225149464 806133887 167105371 253067614 731025431 667160238 547858005 118338790 286833826 303182898 176371996 355996539 950966027 990485440 380960273 757506623 623481538 586605611 114126582 157305472 267336799 306628194 926847115 974563503 277021062 252726801 827879099 617021872 542774254 569528614 354764617 877305527 500049720 782917050 978069565 752902220 876003090 425921737 974881174 685487317 902976059 450996989 430156365 796352583 698641138 799086959 986902380 821164700 944505690 864470428 356976149 435398417 957609053 437130307 785673013 179577275 484082289 765328269 392496487 595220599 167516355 538118482 741709857 386505018 649129137 143315019 577474836 634114909 439035626 437659093 113797124 679584216 281524542 155778525 779454851 287261974 413910908 878611783 517823511 604624048 203580201 361905604 785628437 781109889 804770017 779491794 864369625 722712172 216758382 771367312 245057757 352935199 819710332 448415044 822130967 333433241 222521527 834813807 192291070 403688236 168957420 581610168 909791352 142031494 767381678 636474397 531288908 421997676 840921596 131751531 341035830 342712700 809330532 368209220 146197190 913199256 896303548 998280570 888985998 102434333 944471043 199003913 997259455 699425193 351029863 551290934 156064468 545941265 588331702 787622205 788275465 220069154 661135831 594415152 931673095 679254963 288335681 183008297 708798731 370467919 454863408 221814524 388634306 457423393 801341950 354295541 104574074 647472168 540494652 171445385 178028014 454928892 688447555 267472036 909155122 262234924 606139917 656823224 993819965 945386929 735999700 714604481 258160106 891089922 302394488 306001749 842709382 938185989 131477528 974587920 903171792 198060865 945848043 461560268 830127246 657224006 775695619 562951852 979269194 271578943 526186301 512767073 118437365 455611164 901353862 405875881 998584134 873549078 962190422 497178813 163543674 811959049 684069028 399299184 530571676 250951622 849461207 220612367 557339054 241983379 391198036 271521103 467332109 803614551 379820532 150279860 120504550 871920904 702537637 710238316 329513884 402256811 516060855 858784330 450685255 635628207 972692469 265249086 279513903 474176384 452915302 603414542 898370300 610663195 468802164 815256432 515956512 288790216 148700298 509628492 254269326 822498957 236265615 145966138 792306091 978872621 537868639 137018046 932157685 883368189 361653103 817209038 919500050 129205804 667238272 947330996 692423438 160484664 535976742 649040423 123796656 369636823 352317469 539269401 976591838 477979292 882172475 378378870 872860957 798495663 877330676 124418148 470796454 833867751 160954714 919491177 156720491 279504530 334872187 861583257 485848958 150615023 819002631 103147863 136274939 874986037 592360426 861921974 441053737 131374140 944658790 969741142 341352696 881063729 563888291 348871457 999308081 676563746 112054000 496904104 714697815 937923121 451191390 879821091 684880319 115241882 740855590 146529307 342326861 981429930 189834425 936697948 651332172 273188820 457236273 396809204 354007915 681156111 107353717 267651155 736160846 462325142 716910414 542517687 509774699 252066965 305772480 296011656 515048418 379152527 354224099 292723673 110529430 854651589 681030427 485225736 450552493 927266113 652980771 319364037 442412107 847909223 321646015 992516820 999178973 429062495 329721517 120691491 970912996 909257790 535152738 841582278 976731083 944302640 137540254 129817401 487838584 827929931 280682458 493199826 764848398 326771482 657990204 529233808 937200586 162294085 618253720 178076670 109084004 910882085 711094597 501983508 721891083 650289593 253542286 890220592 745967639 485133397 617046477 164294517 785482405 815686431 917785029 811024535 290995586 208358952 306604891 226515214 792403041 162445302 608358473 873135575 609249204 878934984 329274747 280049119 139411008 544501439 818624340 319650564 626671600 347487510 488474709 769945539 901279847 940477671 642194820 164156538 796492913 191098744 605485197 789349452 544677087 629091506 685592025 907884424 399015507 593664953 144457341 671945412 797548499 909931967 590001360 106873150 720946802 455134095 729323518 122627966 446170423 453404150 583705037 570826196 505256106 578958650 295504106 874876986 834264059 222838367 960458490 970311828 229942693 249223986 920615498 862742460 981001655 335661854 795303072 566707112 849152975 188152432 220576725 514091765 799509886 264644708 472929762 552883315 744464836 499030280 465823810 437631298 761516204 203900162 155579400 735532429 782225214 896525849 549351031 883136229 652890462 762345400 293889102 447104990 101496789 335659978 360041006 236930564 238186385 892580880 240343771 194475814 814028514 449250072 176092571 317789146 496034160 363582789 741002161 181353980 382568506 142075253 789656559 363865737 400373022 900391625 722239722 393878882 917171364 855314409 386817420 374438424 797086396 705704146 809971702 964585486 254016565 425742691 959582936 388723706 309087894 260607045 471057352 309363723 696723705 835286123 830859632 340880436 562481551 923244606 291617707 101918687 977171372 579250010 980909719 826259282 809816158 743515760 630160793 974697097 216031842 574111280 307652692 982097386 705971374 520524144 145299032 612766411 318917456 624926911 515110975 264776415 623387651 150103000 647652373 921424525 969001119 568387403 362589170 637036034 583610523 116823842 507209975 127215334 326493862 562952985 105019329 441957204 889483615 770400356 266802417 568091476 483343939 385583779 441282092 215234986 905114076 315239389 133712440 550474658 983667301 319698380 424774086 794802065 758705091 109801593 179451858 379032065 506600164 792248074 303508954 714058114 995553119 521855267 394641144 243531357 578313691 714793767 485586127 489385150 568271289 471110663 635576566 855341098 760756932 746837929 788219116 824635474 238177659 805822066 921021572 250567943 895313884 664316192 817765455 767288226 569006702 864670947 652228565 948844632 221975421 407210079 877132535 891333706 833424291 414410366 572143283 837930933 507965760 678393866 433352215 619449799 520438614 704844402 855027403 823828340 569948062 683878240 390624013 314916893 618498894 230320726 657467417 610102692 285443405 887910450 668213774 888454190 741085562 815948442 633328228 224261141 518243422 253921691 138833208 783374551 785740335 248141957 253757003 830217882 442614556 470715860 736870322 322601115 737298444 351679677 400470846 667847507 690669960 377728738 132628811 647138883 890203494 570906393 456633316 179250380 899220972 506460257 889168124 507988638 871019327 813131687 406038380 286734490 454871757 391057304 105202904 316936451 254471328 424141999 174578186 327504611 501647406 897257528 274802949 494289741 523541271 269857388 942333187 474817104 569163889 960422391 292344376 760313285 538697857 454515169 631722494 622618231 163365245 327513707 260761653 551596439 184218246 843121362 774639544 442944090 488805916 127823167 157019503 166887066 812114591 815629989 303114696 574825951 939974643 840610792 719788400 634226347 117772296 703714658 674172428 271078064 778454018 124805776 674283049 240262879 217658505 607468274 412583369 264089407 828807167 870329923 806720654 365010417 321599174 121616788 813944235 512098487 997895882 637731869 521310491 547335995 605938428 539013328 865806874 761237737 859706510 650420258 315062074 641309045 818682492 992918349 854946549 834472126 248371401 799195125 663743389 164815638 585136254 342917886 842074820 765143198 298330871 102419312 660234377 627887213 270425230 655892673 230156841 744456967 236018025 213616584 386763381 743672419 727498700 145624945 581416446 617725884 722054516 478483724 533377518 884964677 378044453 661370727 895947443 799429500 190968694 817600916 673981535 311822064 493692678 872406368 407840224 272826553 244795103 792160065 674490510 410262155 772611495 393932152 663494230 265239150 980939007 482508624 754767395 892427208 902510670 252073112 996814995 967119443 673380230 267186184 903228571 686081169 168769145 717580118 777456751 626531060 193413810 305696526 159032230 130616050 971493887 405001543 542879703 643440715 571348072 933371619 659074974 853871187 669936566 970204054 386275441 714479994 919983333 417258670 140828816 762911419 914622299 714979572 168668091 139752824 144653535 700047873 232092564 654699254 237568024 834227382 366701776 560677612 649163575 714189852 917165199 714077029 167080543 328210778 250811558 241665561 973840174 538264892 655305871 296031799 726620657 986516724 519437858 556813487 518476977 628206996 309788320 467723548 703073323 908148259 358513207 256052292 790321363 312289950 440062864 989496263 795518306 587318345 813177922 557635898 803185325 460600632 157962895 658822853 288199133 690017281 696307037 356459009 268088077 508135856 474534644 794779435 471882126 592298007 883431166 762038217 217059747 195284942 169825931 324983427 577129366 693473284 280317955 572743828 851334422 179742856 763687458 857740372 436222353 285727962 556189788 761612470 540868043 337817942 342907203 496561386 970255620 551598778 971062325 921137924 389095802 153757491 857933005 181420153 294974345 973236309 397257716 870709757 685380184 995362993 173175622 175074734 566068952 243850917 416137724 913111692 348272660 215838398 565541031 718036580 914306686 653790386 107730513 681400545 240654348 664418403 286682571 974064818 984501564 903767057 697851548 528551282 473373827 564970308 969150311 435312508 462129796 593577091 651398672 833995663 846949147 870406932 404371335 331987761 424754756 898540562 531099984 830682097 102486316 165578246 404037147 257641594 452412879 515099869 237137514 976063072 148956568 645174774 410483154 573253272 963848437 319337237 118109496 906870286 697318764 415626767 976132691 235971324 402357247 174249625 775133599 831595804 905293495 807153858 265791390 927226311 932368317 789629540 237110816 696842419 382724438 876536752 187092141 967160924 568920588 349865226 968343724 129555060 661505084 916690863 392539971 901683442 233939083 918414501 983264180 907319784 607581370 310573790 524752652 135571383 838281418 654191260 646319585 544171295 136612567 624672945 340713536 917335983 639168174 580295091 545069034 740464392 520516985 662982588 257861158 362316739 109276277 800465587 503691931 567051796 272651968 289735503 475307938 673850419 619557436 102910720 124090079 935777075 664828329 948057326 271880516 743248304 368110001 220802109 199698741 297254095 618309541 786139068 460307911 308406477 902731730 337389265 715752775 263064540 491206597 483493671 740714305 649782107 155963086 460203672 485508168 756259236 212904851 206844240 236949592 889233231 522995208 957885879 388914470 837748812 749772437 829098205 764396124 815355374 368932104 814285510 306131665 346019547 958877733 184492203 599166539 549704309 352189202 620100063 796586093 527651404 810402413 252374032 787714597 509413418 322599746 674178235 218713491 112529109 383581322 415298454 754330811 504356980 731664165 615534714 435102363 911418362 563496749 222551738 328068964 778546205 742630586 918567265 541369501 254873833 554250519 174413947 917958470 843803215 646597168 786662227 489901872 642863986 510328528 554775889 190944543 787526354 831336514 250922690 100299757 138574257 218680613 159606607 578711512 891433777 220423800 122402241 154442889 109622197 367134330 673380508 396170738 599928164 950202472 916412091 672975145 958265529 838267367 442439900 851548885 814227602 333690914 243859775 423834315 556125454 876988379 398549735 387519863 228828659 340703148 219086245 815952138 743479300 533909899 711090345 754649565 868162360 861571297 363458134 300688925 170373065 327658327 732412938 520487165 733352345 828578105 452801630 208238230 196359079 418543520 311771790 203982178 938468310 829214543 708370360 714822912 256709869 623059883 622332856 564882511 843330009 283047947 118115968 268322327 475858739 932370456 506862683 318100511 505593046 970185386 965743763 269200215 135137059 532702956 686747775 573941283 520965808 430423167 283116826 676789861 367781801 377612514 950794797 744765115 546271200 251236014 115180399 254329285 270098443 263742101 124890901 561607407 344033724 227309912 327496180 770197755 627742064 746173566 648392131 362616703 166889706 607504201 775151346 440406842 707973652 476587809 101856267 331336943 847288780 440508932 326799925 292889489 594767369 299179339 470955600 511959109 330144398 921985769 101061125 217084434 611822243 290476101 778688000 471116076 716977985 505943478 776358803 539824015 482480589 439848490 585847310 843682294 414368991 744498629 310093302 461730540 159917202 202402725 873320040 850748206 550804879 134542056 474449453 124044589 390175214 332409977 246071363 323212108 906040241 779663249 552519156 547079347 955452349 982846310 442129352 363018475 794228569 664171937 115738938 448330806 297675991 932553767 741852063 735573192 904447822 227266674 106461133 344928068 364056505 786031250 279070749 965054487 429567960 274578275 631444231 680085094 516498247 882129878 544333675 518386302 153332536 788062749 408577644 581636601 331387539 557864060 511913118 551570242 718061630 774890530 951868861 773966974 413551716 839091835 765983215 733037027 373448717 570076829 379082001 211259028 553796201 962311655 526023189 347782938 230006477 798874170 870682134 433312716 647400645 473939220 318147503 257393248 196078240 539040752 210727706 329713241 511943425 844639138 161639114 148036497 730257122 376230438 597853867 460794420 130876234 131278926 120542202 746037088 366573692 176571132 236453924 520926857 477340923 102924616 957746803 241972897 748223854 329743960 959626081 375001451 519037847 571853124 433856960 792291596 166955698 619502433 933627633 462223321 900800946 237592970 485996640 295400030 809915475 950506677 529474786 362032004 630924395 883166682 543593733 783302305 531873639 429677183 630136087 367093829 645065561 528559186 533672723 736809914 321457874 585820304 642889644 557678576 392320575 457411972 332867895 602728852 473455628 716246667 512545793 190690182 874281030 565648570 857225816 771124253 307319161 960956362 382230271 147596640 169701366 513106929 828502143 493568127 194588659 698117343 569511469 623551519 404579144 326335898 755793056 608833811 283737272 622485026 990140107 839182061 251906883 163622307 866378936 620367050 333524474 867782354 544589832 816957924 656520690 767575408 342141016 662948772 690711726 712833959 177247826 555234427 357193427 299880114 419167157 952956654 610406892 403058564 932440013 272108043 467892206 522060466 254003689 553305770 453034645 126753595 499263799 531176829 677428541 436214508 141056554 453433371 616142947 214163034 228969505 941214207 884708662 430157380 308614526 523980290 202568381 664636610 801648587 418541973 301991051 622382396 345745773 790393148 588652029 710249701 143168272 263355792 996618142 229045713 653514146 987432911 552420320 889803468 843542927 927288318 252099601 436938543 709951634 935583120 883204651 677098101 922105773 617183326 398633402 303449955 339146652 919394989 809129548 685269740 938764817 899546091 135107844 651416256 957117834 177641200 606760367 253333177 923693142 341403645 726762893 264556573 464120032 802592442 720100614 644874748 198781885 176854340 719293549 110303249 378262262 474510824 798695809 216721487 978996705 526023124 447006117 574249157 379512405 382355146 308999393 417223482 253187995 800424434 501898862 898617292 992662588 786916341 892757774 361183834 937545610 445355269 262090363 182331335 342131282 731977883 596445808 722045384 413369447 989375007 177156814 764740400 167462733 569791238 421726703 697430476 375852124 177638162 458779282 385555692 818305212 956781893 841968810 269792979 961220561 948413127 553305607 420687920 912346590 110391220 736704873 933548534 135395547 371548481 453967123 611912001 321907141 805101409 163121595 770207977 772634885 141215351 811125438 408698837 343198036 325812581 984689424 214762907 456841627 748521948 462666443 187634913 236309833 603670966 748389926 445024994 846945964 742406966 375757823 517548198 597216611 606918085 447938407 751762345 744102411 715843607 492350141 765176259 798740961 472800715 802198993 132702040 633232302 131629523 874266189 320263222 146838910 125426235 915759328 227531554 606330078 715644042 257258173 634972426 315139256 451652690 530327032 764687265 943571559 511124115 624304183 450841924 413990258 545594432 778483207 746224104 989112703 833861990 263599298 478422355 966154123 743189918 483334685 512029659 619693863 747200902 515486752 276214611 441228982 658803835 457763350 537782938 819686105 529970142 713165558 626442901 136208471 778870429 252018482 648919899 928918933 869799157 524972855 409236179 261292167 291644084 339682474 352479029 931981033 954979450 236781810 824283181 304639275 143419907 472104951 334596605 438234398 429511084 807548905 791004062 239108472 574578436 651146025 440784341 247976370 942938798 645791178 308124128 469589927 831343453 253355554 414111536 935483146 975216430 141229792 193178369 305151430 635987791 221680114 355764302 283805232 343767362 977670260 288313871 173210980 255279851 154038998 315777397 997741943 562787328 511333398 252846763 857402222 730833306 119088734 160037645 399796041 299386089 374456407 877787970 359091738 550965501 403049128 672130467 911797164 589813485 214744235 187506669 792663851 205184778 155417458 539027122 678425265 716641136 254074787 386764321 548924931 821148853 389449818 179389468 382118106 637364556 149219565 618881168 125485129 232624858 161366876 998746247 836362207 412869535 291719076 414878804 315696958 278841582 964436482 901036408 106878668 126576941 217851941 435415412 291419018 536746621 955000944 304208094 926945733 927361766 802169068 662095068 693991290 971433402 221166835 652128754 934038814 189239273 132120391 641923939 272044116 826785920 241747304 465212368 172895459 632980337 809304004 857840090 456144854 926203230 787806570 679989465 332420214 521731456 303659874 775010844 659724916 656504854 808692529 220564064 235126101 391094709 437958268 893438902 633277383 339059922 137153990 614487299 751731977 438340595 493703523 849804719 588353961 227105060 497392505 898691535 752856239 441247010 880502267 326305585 718878694 797149900 948665596 907257147 706525468 367192484 929039414 287664080 596072977 218623825 773704809 603034812 624952441 207418587 195786460 889362232 518766014 755136579 570832000 221931778 426618129 265690813 736454099 677880018 862057657 158254387 671203030 235877287 214823690 389354443 994948918 556262881 325889204 560389959 959466894 331193681 296117943 532479269 687632065 942354090 480369000 871799828 140027034 256259407 586907208 878625124 917672895 814627383 945740435 928144805 593964747 310077832 245847047 681523274 225185205 399520801 190841392 784898517 289822854 301876093 676348534 541167633 720050020 917938143 918765764 565746814 680335267 435772582 307174172 589856698 805024102 349025922 609779983 217825391 362350540 553669137 678278800 190088489 584409011 226768438 208756633 738874876 617008972 886021736 677709935 495830838 520657604 849386682 699492768 865338384 625074993 415052370 271461387 244699807 287174853 856341758 644977171 693391372 274611353 477324912 337646745 463690030 586024680 913026542 216702845 576263887 953087453 637788878 780114648 363067964 983283991 890410440 491839041 238168883 136956196 389700257 700065820 292719037 782052531 262399526 425757207 187554286 959900598 521441043 635251881 645419806 148253132 655749501 206365937 266894865 870728777 124328575 648669721 454483688 242414413 835381453 377546367 628641934 627016554 984958129 797808965 422257359 930596243 742938411 973300002 924856819 209065554 581015343 739256804 961795925 341301996 318727888 364837908 860833169 665341587 984045554 667366243 395450012 156485604 568980208 236089870 874166413 375119156 616278271 788388475 260694756 377453297 639689307 271687813 835075100 643526010 204429818 722362312 897811691 320351185 851455914 118689995 950810449 543929734 723979834 485015726 484868837 190391394 668388713 159558728 192145394 733905807 225037640 890597143 725786342 930351672 381051218 971930510 825073986 635291818 176310386 338450459 442684040 579880225 103797339 687223006 884695578 979975593 789572616 796843449 788689618 420506128 732710800 321195476 228349422 487693834 789389169 352167271 598078890 701056238 358478616 130492247 913826719 970921555 577071864 722168509 806648989 671926627 354379897 315005237 824709915 684459580 996062223 666030457 582934503 245650726 458777912 341141191 986665458 280075176 600669046 556315514 377400566 703017115 660452913 672556897 652394121 524181449 949481414 598711607 221514427 439249167 361982582 883975294 256025417 443727101 586703629 517953472 349172430 151746344 808362929 317447605 801918664 209678606 212242198 716064609 155761271 434329832 741183679 907583624 215921083 958368433 343659024 405942677 900757550 445465913 458572282 277477274 107046036 983829880 592154280 647191765 260127289 547983700 469327380 194188104 671729235 365337479 109518180 619321880 645974737 827573409 251757905 323643633 793830314 835255967 555434391 750178389 879044039 741982632 990023281 123646537 785258055 522145735 719188920 414419385 835154282 530184373 918594299 919856915 205593268 251575158 366024297 972508971 444237407 515681144 397885158 692518930 773157825 301371483 179422730 967189418 985667514 158731825 620000102 380797490 355782031 256009921 157690721 615236995 411101470 694796947 378159440 820294763 348813061 308878621 341688810 759879914 216918848 732263194 150555386 621869611 272653589 808361194 185404145 351252703 503284674 509790323 802831970 457053578 355963974 969165987 996841392 847662558 782534069 409326131 521955957 638703562 777627192 972960800 445903633 783376384 749619344 852995864 814666765 342259244 689596414 848942748 454295654 772551633 181470714 967523463 108185915 261250683 110169217 459981362 991563014 596389803 564869311 672675710 304127169 187568125 312041895 276201244 423143412 389787009 125165248 927696541 267523826 723082329 849465539 768100138 817999471 514041055 799908087 303634684 520797987 616457809 990499433 478515556 992498693 620998284 313144417 327820657 298797971 133925997 255112561 769248461 751568159 475572550 188170010 229624729 622984386 139209775 323881590 466034114 796756169 296121966 942192290 751217454 342305530 558237773 150034243 905955656 573917805 256785281 927333991 403295231 749817580 931182126 632995460 313567202 327778972 806302894 538226468 600299830 817707954 910835434 241650847 277525402 293556003 581128790 140575276 351785115 741702191 201796046 988545635 492778043 423009585 106362660 933070013 957834537 267781041 128748454 405127165 152928551 462711623 276081069 132089350 993768148 355180770 430130910 370524934 491851401 412226976 773923489 856926406 508181208 496906124 212905513 582812853 257752238 685370788 624686372 181401221 560342060 700699123 365970073 297751137 873271557 516515738 116269808 531531485 456491338 269744758 511840937 189881482 904094074 921313881 879731833 982318568 187386553 216602418 434236232 112824512 477541511 540034795 123323533 655020004 210987612 185976138 932294514 148577378 156179745 988486612 617677580 951342842 183597145 632731928 781642723 189387749 431711397 190287040 779275634 252195572 525147638 564469474 111539630 105426422 179232003 487134961 127756499 885756945 771440373 395416100 884920748 758601580 234143859 980845781 414445534 274225264 696106035 144579066 816227945 561535046 470587423 465739268 614012475 558946327 988686712 553695310 291573967 846904738 233170070 764788243 318102420 148262656 793042004 850027994 155362370 718022875 296545628 955757508 376727039 467801764 733045428 221484384 439934735 765590968 821446090 758722520 836254083 230779688 223206376 482285542 519265649 992729921 762170230 113116603 700998132 270409741 192540690 586425360 688989268 391162719 355393385 932195850 811996640 351886922 328310988 399391170 340536525 724820980 217539409 225032186 963040133 937015306 208924201 229629636 454219966 507567290 583179220 731616604 877531615 478083912 646824990 215758755 921263172 969764408 396149938 841501082 740908922 248760100 286190581 157258242 308997921 277919379 451788016 272483681 742373902 946620804 631142837 854504041 695016721 209300424 264130972 469771997 704238509 402255038 633160281 262368653 326522732 258773546 589232930 366030120 217929959 290022587 726280698 604002784 391982461 198253311 810224224 202701197 226604731 466162573 105494039 115626642 314826307 180342019 392197063 175042935 689491768 851601747 738396164 706940763 406225140 964388675 505414464 576885693 486965931 752548533 281497522 328475155 704318186 684682522 400908594 715759186 912661675 971280073 444328695 429883410 666890224 676064511 338599991 759926069 935544339 819037082 680202142 427863943 515225502 428755797 380144346 529155311 683853637 406340264 791240716 799391142 168173681 321912008 665433363 457401391 460501301 666535918 355570641 763451902 640039891 810501543 484041386 682183554 942940523 723562341 177640614 134650215 515598768 241937409 206709076 760313789 802403125 862876018 943044280 698003218 577070625 634243666 444385946 670050382 623361793 142939923 652496499 883807045 729132533 796293473 215003970 622587890 663872251 134884652 842329934 645830661 179802976 666567436 120373411 908933991 118425959 484629025 613457586 558370001 397084629 700991584 800608012 644187786 909517967 384344662 592790481 260755690 446221772 195820681 181766932 761214666 646154181 432901925 499510133 587211082 560884014 355468138 920997078 738617645 952340019 167453791 498621266 274743300 311846459 360780924 189277004 613088700 151347253 510816007 605321574 935290281 216960937 300410140 233076864 463328444 346784503 114344043 102133753 549228125 941195088 961263756 468454846 133514922 591472439 517082569 266308129 967187990 719587920 356793842 559395366 904688929 526037564 581206034 934671275 897390243 803305291 908077738 702013209 153851433 908171993 517968824 657630823 973808141 247395015 247637463 268728197 356480404 602828264 322243045 298605041 966245920 370094053 869165517 436644982 443069920 923651485 808306519 533718725 403206257 200663471 530409537 334029408 100655246 646793290 631809292 456781670 671962324 762647741 664081240 927646390 354885053 171663937 993435274 597195556 912298290 241364562 605467171 477385466 606405956 389224084 487853871 528264263 403922112 676608496 108184679 331437649 277799794 853551604 586821542 990552933 323869484 971736598 189156763 991536436 181071354 436922311 963942101 692700123 961360186 675621723 753093638 932684822 870235123 164732961 259884173 991542486 336688570 755230280 160539517 193317876 564616358 263864334 227062961 883910492 194500240 492623732 175023754 525526938 353281290 416705278 894425751 496185145 293177865 563576570 758058109 461429733 621243275 844897362 948654127 868817293 577088363 793304607 522982508 213607403 442341329 731421179 595783996 335219230 695577445 510763605 824664617 886371931 589397460 267998267 856019231 333095141 703934077 633443598 841843469 863357526 339500018 704088453 336856407 154554116 102101690 591076510 406747192 140035423 821367173 619281288 701197132 144400575 915237200 207584986 562757190 174909181 210977254 493703652 715522307 795163736 778274064 333166866 664260735 498797255 684536084 452255275 719142670 192452257 433506469 666700276 861059393 519528439 341158675 877874011 115523807 954235056 552941474 375910804 447925148 971272432 592913096 489568152 182707631 474895567 307410496 694644346 924127713 817813582 739862989 956534999 792262085 973047703 544664489 477423160 190310045 223312221 838548206 654017968 844350235 875914586 766113844 947811560 810347327 204644415 593784164 149498270 147752731 794391704 832671981 991952920 255795554 470124696 968522793 602509074 330381465 223651289 838433322 773339844 531670793 314388299 938424843 243693540 113524361 208006651 776885654 455524857 294032186 741509158 447005160 762980860 386611463 166666185 515180277 273066326 768346740 532205685 937900027 162463690 288800311 872897328 660072541 222435544 641735052 273951123 879530595 469204271 249916766 865932214 775946267 154167591 182733399 706394999 107713058 553603888 517340797 750151839 975065690 767030467 797780905 808854041 508046832 622583932 347873346 806822729 980281186 853065278 119332433 355481316 704242429 825792597 683119458 956478111 206743136 280554262 778864051 119837691 142975881 615423967 998770134 154900218 495523649 668552245 634336572 614284768 737446878 324651107 471420474 843618377 127227367 150353613 866180817 503982855 380385716 797849508 787665173 543117497 428531836 658019180 550672830 470453681 519331406 436786779 259212332 717681331 531514278 159693627 135077993 507552211 885620904 624393949 868506752 227904807 254835915 770891885 713870630 999993134 115079276 239850492 783313202 874464716 179837446 254030466 743128476 718384582 107813805 504733874 167083880 676946756 547556014 608665426 538473866 626702530 642637945 971465036 189856125 557346689 537418285 184953322 375209036 958666957 991050974 783286329 759193702 185384489 392401737 587673675 557628132 366219495 443322261 374685925 917659281 926556368 737180131 687559826 808672411 675751224 548589787 703576595 817513212 141831397 677650514 887440375 784572719 272611979 956231386 322825162 445869136 869869382 720094215 488233001 114914379 450797072 654714269 736419921 966710734 400887655 678066777 900867805 619542862 922730327 596606328 826216957 596914135 363214452 693501484 786534776 101642298 881426553 483268410 710976320 926494755 407064866 902737283 503406643 842515432 902309275 696564391 101319477 147374198 474157457 755781132 748545338 361619722 264002763 195721000 746122893 893619723 664395597 490898711 186528835 399585309 839141669 956358913 403179684 990779503 710640644 483957160 127428080 291277725 794084075 912267420 340535335 497484746 584168498 982877314 711212673 309561029 180292049 629748454 463877122 835040568 278168653 738831888 883723525 378123607 123890559 937118820 370370451 654328084 651632825 571567354 555272950 111890586 367031021 406622450 241098775 254911547 812024493 864428874 174449741 558393134 654219217 174588059 441101462 318348791 198719173 957665887 120211336 714298839 108569979 332562890 892247900 662434744 569157189 585630241 931821714 640917191 141458272 221898973 823996900 750280374 734439317 746736620 676507410 533257306 658970778 794945258 192837239 799395492 564049978 510144200 982410242 523192108 715116729 325600574 906113804 536943034 196876717 413626026 612216944 657876624 996237023 901856242 112685390 137792341 134019295 436049952 778877198 779073944 679403576 771239512 305557338 870815231 683031601 298920457 515354988 497641610 125941131 329102668 918472847 773196997 119473181 541613145 973325456 707027716 290370638 400332860 276166792 323473093 985014453 492609016 264995738 816366625 416897057 402604497 934854849 558631431 303796735 600011259 585677293 232497353 599756191 902412805 686457784 680800081 275172449 792776170 752299617 702016687 195898948 121786712 154514504 613232195 967820151 583712508 337001714 429671139 332900551 918797192 856143156 332080177 797464823 651876959 535897015 672277687 802296598 990886096 486165547 305054052 119388764 143016119 183701252 629592402 139525652 348246981 341746518 614177171 461301643 354676364 284432965 746610071 176949618 758610903 308085154 218404249 875948052 940469642 552630312 698513756 162313337 234906977 683275243 222866293 259833593 850371604 824502214 468074107 449351285 885147468 788285322 814693287 602798598 742043867 343395995 181191120 782671307 844110958 184887976 537438313 875983856 954810962 414078103 176817846 150141312 236941488 688908338 347897409 745857685 905676459 559481091 734552123 575318239 564312008 641900304 920071669 222619582 554540173 505480061 858644320 454489165 343534262 527949065 541888878 829402600 815277772 596860963 246157791 162537645 501533117 789691243 593669551 468913521 540639044 281058067 693971932 586794068 150624370 570540323 522278475 186276607 554772171 825415352 384852241 437787538 196462235 625762872 950301150 193883713 775003344 843563603 821803562 899720623 961423493 613647202 691923741 600399304 450082630 490199994 712594072 360190403 771225348 389029250 641965427 247007864 283313010 782341496 656543719 298277866 754007342 651826687 232681990 316214926 848046902 185382327 617135727 813445770 970536540 593480606 388734853 796929226 345216672 887246741 376636662 916074839 112323249 140675248 782577262 372816092 914080394 867845868 569203132 658004697 598472250 667674094 379341965 338362540 443704357 714349178 103731288 430134396 520300897 380527799 329944933 229138027 280261905 407277072 584948850 736902619 922009234 146671035 704288628 555298662 645794972 219815949 549011101 712685918 466837729 447794853 369399464 797455480 493642068 920283737 522172629 416290909 627996238 328541783 695697954 909907352 366123065 802692544 330296951 687040981 893157375 769032137 284091565 578769209 277340568 716065045 806324851 572188982 828687355 179658458 114787056 886885600 693588555 923576797 104713151 806901741 227232186 946982329 159592240 793469941 810821776 346665447 497937663 896614510 801232427 328067415 444951957 275176365 910594322 751890604 461307277 289325709 227655446 247074950 942545634 221130738 730818447 159191102 903063210 552462270 820091986 211857413 585205529 995865710 998958372 543705595 494758049 904899735 754185190 556128719 261343996 519680425 489667221 581953244 543763060 800914783 623587097 499810580 190664401 743739276 395048258 325031258 466129237 861078378 522474655 739844933 586062413 997591962 585195085 671514139 980495019 189695274 841725020 511490311 780088717 752536080 590153284 826486653 940854066 665544789 106835177 840755102 575579200 427396329 922000943 567321312 226299346 807168266 929892310 944186748 676448361 310365214 640793439 770280919 408732920 225070555 522098141 785025035 559022845 667670665 426363438 364677061 185790025 848884201 997024416 657064095 733974084 644912549 245349596 257174654 599740449 843775217 365979901 484696130 960840043 470892614 832627714 519185171 236748851 676310366 758321090 757831619 156044627 229268253 218536751 937775633 971403699 108719176 294353610 441921112 395995054 453299421 398332217 432751992 691928992 801552016 440247826 645540848 407219050 982530018 729094594 994401763 439689149 703684689 907872042 258979736 797494758 372296046 616776273 827798623 534788116 784866947 575508325 620577998 609098927 757527944 822950082 538228309 783711545 928492290 363638041 960453845 351579598 413889468 625781208 274561018 678142416 768934502 599876412 754263352 521168112 480336372 528553064 190187358 735487899 892176505 684779302 478515607 338624225 661432845 748744368 878333738 266553931 739563677 854672926 387689820 390641597 889799385 659777599 138164489 903583847 346271798 744644176 546472901 786260417 782809828 154844095 364818659 901916120 249871166 213760987 713824671 512078644 872109325 972951343 782082621 161242625 938804136 816632663 293483411 831690430 718305894 711930099 437034700 275991808 299542795 771368194 467499842 359585244 366055909 679315033 796819346 154438784 581300440 452699872 560218884 733103063 485467373 156636008 727228598 741723834 536926395 971454110 152141066 925577455 294699734 296511911 245754199 901983182 555836221 672312718 199901170 401897507 403603202 983892809 176504781 278650707 951437028 775745557 394615898 491872390 490474793 687954271 779226086 891886252 132418630 868139742 975025389 925069882 246415422 175446742 551746255 328044879 452766390 158695410 289453269 172487954 668974004 349034582 337527946 559662526 181490139 300456520 990679751 597920679 327164390 671389695 703047072 830392153 355924168 842561658 989805443 931758992 261588965 478908121 594216031 611014378 900902582 369529850 288977716 919078886 854629538 248092662 480118618 882167112 347252553 217596330 627344370 821385346 957269844 611912693 906638859 302369101 250526973 109640857 930136559 704737319 127713169 260135692 336906983 955441695 694605597 769431365 322687494 654186112 727227405 166263425 224605991 201500508 255241014 390628966 662658377 378750790 883812893 133181641 837042386 904565252 493207351 574824764 209238366 608303690 512563018 404030994 585070032 943959907 961545565 110357584 388848834 283120622 946705931 422398342 922990327 629469914 161882669 407430257 543699122 198310280 133694621 155241257 412870403 745181712 804848745 393946988 532806650 848068740 396077005 642431753 251758479 414529552 487714684 367663897 958265240 120328748 292108634 899782689 250578594 229327568 933582422 422738119 836297329 590257897 867829998 877172491 363433755 653387152 523802013 670238775 761159280 231355071 643104406 953364686 570372150 818837820 150471497 654072298 924828483 573283948 640115418 957969425 108237959 124549067 616863777 509803500 380775689 300721231 312843157 711660506 944075880 284940224 395537453 172408678 736184168 783566377 299715069 355512641 858491660 472002884 801867347 843788148 217803433 446885067 746881456 672916076 283991257 134401286 436942944 111825584 368734245 518837948 249125490 847724278 294694595 432268260 854394520 366622786 653053394 820443367 655309678 242399642 731827636 323136360 784238111 116067413 926356080 601399245 472792118 289800840 299249214 208761329 623676094 556622773 536448593 146886910 130390356 887426666 476508524 702204794 808272818 984751589 664076060 668688500 966423818 766426604 399037730 630548125 612823130 913670803 770949853 407342633 976797411 424552643 827140676 758915636 524149102 926071669 298952079 911806429 433272809 195379711 145362238 248722979 518797474 805093166 350784662 889644124 424420687 905462133 363256532 889043756 556097474 391004622 836873459 501144448 632576370 242385338 239456572 660641024 987453934 652183524 320295963 798273726 506027265 238506450 707994942 774321450 539808424 380337265 825693133 832399223 907057633 269858323 848692737 565889808 950004507 969461604 910328912 938113728 421767104 549997532 108950472 595319489 556638028 885452742 693382225 259269145 794713221 494309896 899031661 679612455 159832966 102066976 935876045 596200341 482181124 973390680 913494553 873215247 489793808 241543653 983773105 929133396 651452800 692597874 755486071 715149154 255272213 133613478 325589222 344609412 276386507 206590422 873547496 592621480 350827061 159502793 540167075 572112753 136674884 145252540 142324102 414341613 673158564 706999508 321440267 354514258 332211099 602078479 213450969 888675266 341552110 645453803 959016749 921380464 568302394 391820448 645553516 328576959 199966180 624846583 911800328 364675421 811015775 146570284 412892024 877985210 383267611 205920941 108023650 935629976 802698930 555354073 774047509 649423398 898128315 137452898 474175951 653065395 808666245 919963123 309140524 690520246 357693692 978217994 393902334 279230898 689454334 666226391 906908204 843436327 322670904 981631359 968490291 967382170 486958403 314747080 755497588 502512067 436616610 776772023 409657842 751011335 247669718 656643265 739356555 580819571 162229553 610543359 896932773 163929442 199952585 332401967 392373271 754680069 405324537 978589277 308572277 207608839 446454872 717977172 736165910 964354871 168450088 850383999 410496308 934029937 132559309 294863194 572646475 581535347 328281352 307152682 708552758 318698182 353870956 795121737 222431182 774667576 757848829 862030662 892148403 268148485 311974311 960542279 306715080 830008904 798149321 750905121 479401426 311755030 142817795 543667612 535312686 332410670 533849258 394314086 261903079 191751292 732019238 391443561 620668853 182053289 377000032 718497163 337910905 807359121 832011409 301241241 922427335 567850094 521540085 813464370 758526703 553219418 842715950 393464171 992660923 244131998 966268093 356888049 270898831 161659589 898205980 271238389 264810411 237708762 355587909 546383219 128046506 560263692 605022375 996073330 310216687 317447543 987095118 272534127 111362222 658419320 643359559 211031976 524043619 569820054 209183363 668997104 657045300 205075283 381359371 806449530 685987283 770286250 322716655 330905484 715478588 996604061 741557657 753603292 756188791 964029787 375343565 363142259 468218173 966444131 154840197 620400800 131543374 369042099 342595112 349401471 472174570 329801338 867119755 459465231 773122635 528667453 405898125 189088018 727038382 262557500 587072943 580551016 260647250 183843490 232437519 845781113 663913051 495829448 480880403 916452868 423786167 863101034 992389232 340836968 442056603 471399792 974746647 782895327 207100150 293165365 717477191 652755960 615130244 877569090 851560565 591865675 419775897 760862433 443841309 705545537 525838172 629877445 172304176 716177684 263177619 402884446 161443965 424224578 111223784 907138743 612678097 207313531 939313414 176260247 555541853 616540492 254710509 839576779 589088414 304343105 790028159 855152203 372067166 914254141 323016026 108631012 803899437 855372643 281065747 101021414 303158296 891023843 263087203 897815934 483847076 624423955 947806757 507869037 834523027 765107412 658025914 201641107 103711676 228181026 574938693 597558185 621935542 905215558 204055784 536460234 379104720 275577298 610619082 363947226 457523174 263782416 257477723 232115727 443808744 909149872 241967240 919306563 927125954 517780605 634521358 504655162 153937678 329387260 833370219 679455831 160715900 232761041 407325891 266299719 693115199 376514969 549234491 783832481 254828466 894988519 113415641 941874378 370915998 909159352 673981487 315723364 299792538 493227403 860586028 877572476 694403508 139907260 781995372 604043200 590529656 546578073 671452319 389852635 133748832 236611661 214358139 491905726 391469829 803832448 761543703 469943929 178363588 173942668 544649938 577798445 916501976 906343245 712903503 678981955 814425274 968748807 135971477 740174596 973073485 461208724 778686449 160341838 422927507 816678750 447450615 394289458 900811270 778129898 620670726 832940910 390129520 728471426 830273955 248900553 213921406 230592898 198354072 439893249 626727868 146412265 600376236 105779310 963689804 930411345 532984539 784290740 136804119 962248842 119509968 887150699 366395680 409177308 422079490 155941699 907780019 683458731 526516500 732284871 376960485 276028628 381862352 872698794 161608152 723275468 537523180 747853579 554791726 917640468 807244107 240035783 905057394 303672544 370906377 755430606 675778217 978826881 351692661 641236800 852039182 493684605 431501249 934168215 563217727 118476123 433061894 171196900 501710443 903565112 236253877 284652555 492127031 622122178 409642943 638640703 586530702 798192145 572913704 106111576 944199672 966979288 389414972 722216615 882272733 340382625 404905514 953688961 970016650 736011648 263854239 591278396 882597867 620294073 228473766 637788801 520073970 265973909 311104089 477637303 389406373 395990706 589911269 789465699 255965322 365807423 989756170 837713414 417599768 823916391 614752921 413199062 450955878 644307248 584623526 686463591 685137170 301219881 921246486 250731743 313794002 950117277 646058248 791162893 318997178 903580655 741186416 279490513 123663469 781475313 602224826 798451807 375225018 480592032 323077738 667833216 649935771 219640906 322834361 686511646 513958027 813583784 815702869 289217470 196775165 422892695 285832721 614999390 937602562 139727113 238279330 755663354 686767670 762425173 511508094 225123724 757770087 560645106 772466440 831041210 560534461 781322423 893146649 993039220 213240046 705954671 978845886 398784803 179381125 256403985 119247393 873914351 309185731 623688616 949128644 307996205 450859936 419216985 628823421 306478040 383208611 900519446 506429170 310382003 513298110 851370217 430899939 559492273 852072018 842779365 562526273 734396240 401814042 999815642 480889099 237826502 192218490 239849009 450964198 851813150 882084849 694199229 175076197 287541344 103456221 234818227 128434799 108196582 986751966 996616943 976997954 890969221 805024129 337797769 285936079 560145571 602867648 182520428 264766010 217665034 774882825 630890286 976287130 839630115 738290418 704962574 245268825 218130538 359908649 425811956 150071771 697060023 988511514 390384219 665060289 868602369 955871244 405275853 377374752 420392528 815697567 669052281 736981198 395216754 118675771 638266197 537190446 417023568 940252518 244436614 481975236 331960973 530831507 975034364 979210164 562325676 976410560 456265003 602568932 545407898 112223979 285624322 624342143 315726786 424506745 294570333 784068550 762791042 869305556 341300646 626601316 982381503 638017788 389300537 875998072 481306551 503080958 531858289 566275737 673424313 760444401 988990878 506071620 509348994 775206868 371988821 682357533 780795202 693942181 249560964 468323074 959630921 221837470 424362895 385007449 946315175 485155845 428561484 445805697 725909891 958304943 853068201 960292462 283741002 764129956 762440507 435473768 301410795 352766049 427474434 815752752 560541620 159402193 875712289 479518145 139490823 751394669 764452607 847693577 724114722 241730337 851926366 607154659 261985000 466524136 738259926 269264777 462087039 905663466 509506052 692185455 537157661 875018210 485375150 814603215 272177145 451169154 860735246 875198803 463997116 203217150 565970599 164459119 811105994 671251730 341198584 864668713 854610045 481171939 262431964 958281993 833667273 795529248 922456592 583117837 652124232 299918422 331400013 401855014 516578891 168961293 776332565 164118965 262491830 934079018 614727079 589089887 170262596 795293417 371618235 822607104 934316044 588203567 338419901 431013994 586432509 230190373 184549235 273132484 442639745 959127941 975392196 101177989 703505149 638354300 123583964 610362426 616400044 822595546 980940236 238564594 112099299 552527244 241994812 208510271 901664978 288515561 484606936 748992123 604571011 359065506 530429029 395563044 894751745 182981251 180188752 385683817 287220902 818693039 580968452 400073420 970615408 272428493 205348336 487603145 684532509 881291888 543383877 785999095 644060791 917151041 379419471 863859029 724286868 488321090 238558459 464968585 979505356 881796792 182504176 683952357 949956194 169517056 835448647 561400169 429485120 717801782 719843573 865154990 432931385 379716436 929591610 203596940 659839082 637876297 120481148 544323592 455889606 243950060 856869943 726015564 836436949 678095220 690639349 159997099 857887196 309254248 799193528 496864244 198712203 219058798 165045690 121942676 492435600 868038867 337995865 750745879 573953401 383132329 912385540 685125872 674962421 569211575 152716363 908781146 549606003 506926532 704036486 634273765 126004047 653934969 689010687 964869050 194147008 149786726 828028253 594150073 770861961 217988270 425392687 164045919 940098673 928867042 767598889 891060757 362955185 749155604 112096177 664609055 142152596 567601943 692364288 508959345 525151070 786180647 316564169 194473873 822723281 627561323 366723054 794808350 323756456 291246826 134560471 313811490 663789828 880287974 936511539 296478243 617822269 543918941 946931547 907776470 894430578 798764880 494523069 853238160 384448546 698349831 755469229 401822966 320288400 842264965 621107716 673094752 128339694 830948470 947510885 419356115 210745373 186535148 343660671 438544608 723592205 197849205 426136324 480308053 152314922 339894107 376634484 449528344 475662264 183258414 952555937 747887461 349150583 475817578 881854098 913708335 528010801 859553064 249104918 333558960 774674040 334225164 297573163 833191937 456750405 968968436 259460386 475466333 970645594 468494790 392029302 128844131 952134612 635206899 455950225 784853508 374917368 161469703 670477313 870993393 462133711 813379957 734494672 425075666 163931949 187788936 294966180 106666019 262335409 188893648 203572654 693916389 641551033 382182794 838151158 721740287 574764547 523596684 943332240 215788400 584193141 709492721 974121754 430632850 721460725 763686400 999694623 811035876 781751706 526026960 219804540 953509256 153791869 740687310 850168809 965483644 252818899 570051406 318698273 376018886 276138992 519810133 555827264 504458614 725271019 597338295 358046572 843803629 460838372 997258691 450620839 654272861 518800255 108434988 872745859 935905107 255917415 403923910 744509989 389778866 756602825 463903797 377969274 443484844 676652014 705243419 574015311 445881598 876834708 997653858 112475989 190140130 786510761 182673252 687223353 404715206 938094200 329354160 505339095 128394004 908337204 128545590 994151047 622518053 796254102 229818623 381310728 449046389 454767695 668930596 496946483 513350841 722742796 911248860 859199699 878243657 448949453 999546609 994874163 231881851 155537234 837367803 414710418 366434597 295086393 447113441 228485275 117051671 620126025 988853704 950151624 710320998 296675141 429304620 336642615 741873302 629126609 494222964 868829792 690205718 410143938 751449862 431511231 928946437 477556952 225194675 246081729 547378171 886866747 539509738 667085797 779175388 861206398 279405773 260313379 250790349 941342445 424543840 962174479 244597721 451951242 392149028 229125545 575707075 759198450 223882795 503110634 104557365 145315053 705107544 363771783 717471359 923197271 217702292 369536809 447213926 491089817 294976222 631042613 160913352 930294236 198683906 215565942 439549227 586585226 858822392 172375803 897576645 524267493 529416085 357927782 677581226 412177223 310804690 267163067 376034015 515543492 840474084 914796383 451897396 317140988 368773433 298206712 771330608 388678560 931551287 905219999 464176359 207720419 517568652 714970715 173054408 531081448 641630965 429165574 192391279 779024234 415949100 561408886 598319532 112640364 622176534 872547033 843207581 962149953 114841145 134722432 401576314 456995934 864734973 384091977 314082646 873447727 538537443 708234874 759615686 166519664 705608637 658977328 791469152 619095788 666166502 734704058 391060860 936158279 459349778 376636903 282106525 489571532 292182803 876733362 561350421 910094303 259209457 969413035 366250402 429863458 475801477 926920898 814375890 231176609 410175084 397695240 704604631 899229257 815388359 394854964 557395385 806748147 797482112 918931357 188676046 468560776 503804894 652310932 159835688 983196788 483244133 189102184 356555941 424593016 949710028 766938891 475306376 887526871 453591037 987930054 459641449 143522988 682413614 746342893 810883832 633159669 727581434 397638775 312338764 753962989 353379375 875169073 914429480 633090164 681837588 933424819 614146427 494244712 497205187 581475363 430088846 691420113 332992103 314003181 404123281 464217334 764263712 429371971 582221458 828759528 449946197 857081313 644727587 204563299 311459953 136876049 502607172 353028127 158032719 393061705 420045002 866555361 372251106 723047902 224792058 307742589 805936073 757190211 972080001 700118993 993166367 222897824 760402216 381324744 344786361 274307791 671197440 767459136 349808015 358950518 386770276 204034922 844392547 848672308 197292571 393770093 355882682 653322600 572515370 766166285 814682870 765676050 451083043 459909853 738863031 595997938 499446378 502632292 624089199 862415387 985376315 849482874 276602001 573581731 128032472 584517205 336679350 698498527 248086420 311997432 185044162 368935427 539397324 286206448 181528894 690437409 568639730 482182294 314681170 259934378 170058972 867618509 798268177 386221778 234831364 311746702 251100152 416060911 765338213 775456234 477633545 910902412 543921989 150016133 279128744 603743008 938286945 244785394 456228195 876226330 502800383 985303788 670292366 346778706 718872458 350601642 858931667 149928318 669120906 540766298 241874357 924461534 522209660 620595456 806432065 866375257 729718777 153181645 494490304 399812317 675577355 579623024 271648657 369439624 209637339 838679340 744791021 602528097 364042826 206225036 929539197 490200409 247561015 743071615 635346729 919840020 687879008 505206797 453137118 490260028 880356278 785820974 384070206 503113932 508320642 813241885 380154721 425281472 702261694 645092649 143963448 895069564 280989734 249632207 173859649 669517403 782139930 773800071 719721245 892907010 167144682 917819212 984852259 135886863 224912511 666595304 505319517 606551515 372437906 739278060 271432977 803223299 165927690 687826186 411674944 444702718 381259554 447476604 518936292 230194516 219827368 641397636 185966253 444639551 486042192 753655166 979388442 495158993 501889834 720699422 793427210 595565943 824350060 773515908 984585899 334747585 722279844 395210251 684435591 197681381 432244521 896264886 382147130 457243391 104455556 106056146 162598289 322896944 596148749 502372388 481106407 457151369 387031810 129366531 776406915 212512512 674274493 447892431 248438133 758183290 151154207 468592362 562463029 490019920 191366347 582304822 327588289 317884194 178282634 984497709 393958609 279159159 664153264 455272416 597838079 758033771 891429320 112875467 318829123 622889324 733399546 731481950 130029358 416164853 859082757 103413292 910441798 263533447 809169079 538493773 968666562 955390528 776457660 236417141 779503750 417941363 777222115 391572770 670291115 871474044 488331073 607702839 677318862 251744232 556590574 322635865 567123821 654391811 261016378 151237861 864889454 439150136 707725964 428972369 816937814 272361987 675799895 593718525 904103896 738443143 986370646 449811078 830477316 186464409 677203219 293942629 311157866 966781246 437818614 720848463 438676637 196730511 938857851 673605835 172165365 270151823 642263545 114585457 814157328 412648578 107297158 763288667 350038188 543164699 862884071 101338638 668225387 166870463 869198898 490043824 228411626 336204640 132178206 172422867 603388352 120496983 998652683 395515775 504517740 453415719 138611690 189364896 591317236 157716691 654799767 184923790 469373585 588234434 299868135 889431888 556444680 676820749 380461593 369895745 203708910 475705671 268242617 392073854 505133332 837607597 966866499 379693573 883586896 666635225 667032651 722047994 310497290 549092303 768219647 220196727 995748091 507218890 807075882 467557279 895664626 521901082 518282645 285651836 800921903 287316183 637819779 931056977 388412375 465568920 326695137 607039234 615943130 174658261 321309609 380125704 502326765 112625577 919647934 484049730 242126241 413328290 959440660 650340350 215741168 247132358 536121912 609336437 344062481 373213535 459807973 210206515 673990417 877326130 232026783 785339115 783451805 584521272 781966530 627219242 998122398 781474053 975412894 272768505 995090582 503724048 408248257 758069721 840155287 279370779 410181646 784190014 237767625 354088226 785155787 475983994 269268546 969273754 585685255 422635626 394568543 770329733 673919373 430346161 871610764 397224401 398873278 136698232 826724075 742502014 963249317 401891739 386894204 955390501 610544436 209335187 645487957 122508701 952523655 804576493 708595645 421422024 165738509 724471925 428664982 347912763 254037475 252749012 668710004 687451460 796127513 838869421 921583638 297587439 616417852 535437766 862493199 906411142 238692532 206754998 944505562 667729313 589491239 266026398 650341950 975027566 682626708 473035477 648044552 442767042 440915994 274229738 222659381 761383792 764478346 925707829 500726901 212788504 841690910 570794659 882141211 929638011 497807332 558487873 885244820 894732807 647098233 564568960 119759474 281955135 919817055 362567073 604212250 219018134 485762591 482842646 576663077 946778339 478087993 338375357 885216235 522828576 493123812 446731326 880215388 208515629 560732243 506601620 885424736 590164749 651527563 789468827 406975738 762292226 210194112 322570077 336042728 213918024 638208106 501321997 243424082 513335999 799633618 242024308 185091264 556970800 600296050 185640966 222293428 161907897 737576084 622269128 675470982 909193317 465268683 874456826 822763991 292663007 225285480 749251742 134836394 307301500 774799431 939714253 585140912 576036815 738204152 232424176 750574479 106703745 978064750 196599941 628995732 834137019 961398165 252387327 387053885 759912849 685562263 180698165 204337406 973829673 191914646 197444314 946311746 187142843 470274442 749513178 324658316 509231705 237010276 451232995 434449176 258742776 753008982 628251123 732976922 532429242 944296483 576328695 434874998 799569077 405469579 990080732 917624900 309743667 351374646 872808641 538181057 185303102 471987935 974420122 911900941 543813412 668365124 787170182 412933303 711821817 799224524 833064763 823233233 357325648 420017362 287169918 473520250 901238552 940221581 633371187 117254073 187245970 927333206 885187245 956240273 299941770 238937496 693086468 488388954 423293172 881147203 582718086 972534440 860910260 902911312 911815410 247745665 279102941 914239489 960111201 233015646 463953802 907238459 452237925 583212574 618847191 196506961 896496449 210207427 944934083 810143076 480404002 317546346 698094732 505566470 336007665 990849494 276391525 816493450 355027083 539838513 555585815 427152358 358208160 324841975 140785980 333912697 793233231 593501782 877798412 252009334 450191671 395096845 143692969 815424610 686807691 307909799 735793559 928226836 149335773 553574452 556777878 430775836 258467610 129889360 766726533 687711585 779217209 164827986 293277039 907902301 626066740 974495341 871860212 480663262 399593737 308336370 588232794 462665178 572924769 666070964 262390230 327256451 712766908 327623173 496071614 824674727 111468727 693120914 426963769 551093791 950084355 240311717 859498252 262157148 601416386 279453587 943893410 360617304 225940494 293705305 203759246 555191615 165830013 491289853 579949768 296545903 787086845 794691944 284204618 220200567 659058981 313384874 992444214 847957552 980066228 369469322 238224077 731988577 253805705 343707236 247779271 458115950 812254133 599742070 192748770 986923439 347131571 832366381 493370663 222355459 154358124 465041882 327087719 440690219 985211228 919283031 573288104 255686453 533968806 734125621 230378063 383284319 784465376 754606876 746184414 504893621 741424613 611939298 529402415 752754528 560624741 663642489 944220677 881686324 703143940 819650382 103920746 227353777 339425687 544063038 738323466 479130939 701191631 938629021 111767057 323344004 817751333 603868659 175923610 437708470 878319711 280278767 187399809 246653713 134091548 622387483 104506539 855125958 400305089 206139620 848976300 448342152 886945734 603518064 955287745 768341022 432577279 946967209 400802661 796513827 673437493 868354309 214814784 736208294 940997186 626083694 456236306 512513427 135180628 642074634 617999316 957887290 612130076 270405911 135318554 796333645 261489228 590246140 370921100 391252708 884322374 854581062 457109503 219289622 564611994 600612420 436290981 710753168 470508831 316368553 706337973 854834784 716087852 989953107 819751384 398651865 754765189 309278011 385653572 818661210 566844539 730781724 412210878 347178137 641631511 666557255 450990989 317453178 595791569 555537238 679627300 382999222 786817727 603004836 452279561 573230046 251747156 205117817 247039216 456517520 814428839 811424086 280262561 365087476 796042830 846262455 832239271 121541826 791361349 231900790 979886347 701160566 942311241 102751105 844788845 718223703 309474307 538045600 499158900 605167980 382160195 192821154 379401494 106939148 868297086 532056393 422615074 156439173 263059354 460067126 125807688 505641651 803039975 877749377 526567305 139721617 753262746 997508841 738222881 916572748 926088278 662078338 995241097 561622257 873667115 827647391 498875042 564786851 147647708 921656622 317542872 555100556 319407630 122458384 312577900 288910516 621312725 945558803 772393397 223286257 526232199 427211157 971766687 487232960 438017944 829797900 644228713 578740922 861539208 728848224 474349052 382865036 804273927 585138583 569290892 910730589 872135105 258857815 945854236 233517141 966329906 337066560 123843241 409841044 728362401 873696595 566363120 527878401 924982992 897864399 494334496 237612938 374622317 921202198 949971604 376294965 523201304 346260115 990480192 439550880 772185732 578514207 984803308 669749022 975395880 531729123 901794948 367329407 212517528 120143371 595473451 130793928 878568271 547401903 336134823 862207385 339890616 850133403 703069151 822803982 986988617 504259846 537186033 437877631 248218467 407176451 566004361 375895914 547193451 443106409 985799405 756604396 463739170 928755562 264348102 625052205 556074380 194919183 434013307 338078027 252945786 936633635 494207195 485153706 809609592 689405795 141462920 333943216 362812179 805623367 468312230 847005847 122529761 136497522 741962541 202479726 123568892 830309133 703537396 807975805 376908668 728275613 524851600 844577165 440283891 291721880 829531006 250096117 795218610 790614254 865304232 870417131 788055197 764494084 594305057 948751086 480492913 959233325 280183373 958398323 570819296 945418621 455748575 792405372 835480932 811867185 280060485 550958661 829112331 651702349 620308471 578416025 800916021 316603631 853182079 775373962 426896479 538007745 405914253 562355466 129232489 884274572 661809419 209716173 721439473 847057043 888588446 745414255 803484200 970059675 752963502 691423629 714584001 236479097 681246827 312067753 182976128 624782040 697661495 255061388 599066351 657083127 287209200 128787259 212193744 830632069 981667706 814676241 102095811 837593403 499632332 219433014 981286844 948198413 761506072 343376418 316170534 330593429 164848954 136051272 963291492 927837419 650443960 451789125 816364404 739357798 202956147 744765445 482553032 213064553 459229542 164378760 201201466 545772901 225724080 531587943 114243336 694957128 740324025 570985742 693637157 890245664 581168218 629390786 956060650 429427457 547967924 868393172 666427262 173148465 761502170 269460036 153210136 819172985 407158086 804537643 467839807 473843381 385440685 763278130 632546845 244066589 779193724 497631567 628712945 830046355 154806238 155188945 158898963 747552543 563286751 563992359 207508931 140191969 608862063 799162258 887860384 946466030 304264508 959896120 777485326 564143580 154936806 746908860 493567749 816077645 618373817 784026452 820410482 247768945 371321941 246628222 563425784 616633070 742138631 738038600 399700031 137719135 498469618 319536582 868742234 591855960 155438820 734082308 781087451 902214815 292107702 551817634 607820041 783974023 343705988 286383624 516012545 320868510 723754032 702039623 347289719 744915702 707209802 302793985 503989345 554098063 728314256 444304694 810512860 999649547 501159528 560280551 988950030 800992385 418669665 723490653 894593551 877069896 354883361 474229851 814411872 295353585 260604619 272697845 138140591 811196365 207135444 828662214 912944070 660787974 385617962 491060782 541098694 347341004 175226385 497109957 888208549 300836616 352265987 917476591 638156977 903261226 745724789 516628382 269680040 860619846 922546111 408691516 551168282 184374009 818598521 632992857 209066545 960413462 560128386 285969258 368252343 871595800 443696025 149337599 741318970 423546712 102305041 464065006 866331349 447665736 158650573 749038851 735337053 137965691 446015270 772571721 311351648 108180845 817883715 686316248 415851027 721047961 973970266 490351440 762601329 381613624 254265279 975398221 563778108 212695021 672558600 584833826 259846056 892796330 371270251 874524363 209439394 810801724 478947895 403692542 667940774 751780412 328567871 143579979 312263190 638927688 497993883 423069898 425665036 589612470 152210907 631024723 798543118 125866620 146531077 335116739 258845207 925059020 184965725 684036061 779548771 307973504 989140819 918974942 532374488 301728942 775898100 692430151 690236813 572549448 121689986 502684116 448067760 483977015 260765478 610135578 820903725 135346430 795962561 272682477 896711307 701991226 659816993 586992572 185237810 149380786 871513939 928667479 711954923 273760225 483388553 893579043 147089350 783538974 459607675 568958899 217307520 130368066 255117334 677327886 840043606 944580319 171154853 188549237 220540460 230759104 631994482 614530425 711012142 313162520 768008229 957364173 735823944 245923281 975703378 367318879 836121214 113570092 366072602 578715721 766988777 254874793 292712856 804696504 701276073 907974391 584845412 932478187 427333033 663828067 448026736 162527532 179910409 415124005 570515590 751518248 981871737 104407888 897600279 970256249 591559933 485758381 945126497 662995315 831363048 341657601 529953042 871927460 380104074 236222815 379306633 756715451 176713851 330727360 844512941 994513303 301550046 818266136 181839363 920086343 328464667 567755063 545675658 716676232 496103607 278505157 835395595 183582521 595228838 597306638 651353246 303326951 712522916 993224958 944858244 800344438 411246744 785234286 831516819 234437135 957344609 118425468 160667559 933811593 322468834 578886147 104079429 739009975 204925507 140112061 383374041 272086395 773941676 946516277 964897116 257817472 733488943 218089333 760719826 122270866 842026154 259402331 277843563 651933079 295667116 179316914 481167347 974324813 318023214 803305384 879737912 602279297 645945013 998555200 568906004 276330342 770901696 858818258 924378764 958460626 395712804 932442409 540962098 925172531 522501424 889242779 864977232 753751702 829778072 602999549 744872281 785482749 505168650 735530584 334443572 533996690 363630316 389993103 793022244 148819550 221801252 369370960 220973778 101420820 820398158 897506862 829586691 649253738 594106273 302059027 187067830 652176703 349941126 949192083 733407275 983198426 597470209 612094993 657443516 511658182 235555616 439241948 250803979 562936752 328332360 758324815 564543988 685186138 924587835 149546034 340700055 233037121 216655690 501616103 490765796 882355733 125956152 291236861 301396225 870999431 965895396 345118257 449940853 702480659 848403973 757455472 462799294 138075652 506138833 380621797 515800253 549739252 437357234 795892364 717370507 453281992 412826050 968164861 605505531 867558342 983059972 997924113 739051460 882391140 717634103 311344086 816204416 747221485 884372268 832406074 344926079 179665441 570292654 689049047 886320005 555946658 237251729 466684786 828197244 756842690 438433484 238928743 719442670 192323784 833128531 541473262 806921264 328104844 601685849 892091085 501069416 354115119 636267227 676953960 421607717 875893526 874638039 865135527 524349765 946566600 982264566 158978374 792433682 429695622 850887128 935862214 466628194 351434718 303807322 608063108 662711871 287814603 678182109 419970903 862189764 734101054 630067524 392648823 576724742 581760797 198569106 862550430 516719373 685871195 727577095 561050554 834310102 429100571 253505877 494499779 509717239 815806127 941080472 844103586 921308719 334440766 133697051 932548105 126496026 766828690 214273449 722714825 704811281 508870289 909096206 158797230 838460996 737978712 147247944 101754700 621076172 857397710 167772880 237497415 326102869 751727221 657508519 100800196 741879446 442412908 572402581 194510236 350862167 682780939 635406751 219464736 906358413 879923050 928475646 343967160 629306828 511769379 408952833 546837620 642813616 530570294 288053713 371920918 554940466 976431301 957653024 749684411 545477313 969722752 382597811 143101173 365928563 718096052 915567949 960282748 164561761 981824470 118957234 353613990 151876133 709694790 140847022 426363560 502236166 830544161 845716347 573188084 358364079 781426084 408933468 332387357 895531950 517656496 620911982 458120666 900829754 798713087 365186351 510533740 687410710 631751900 775765748 544622427 647999965 424976958 852848860 812605702 646891141 116053980 107133031 177780077 483032113 937105132 247226965 142521076 596453087 996352802 497986072 249127133 360785504 354988661 670598324 154818073 127197449 967732617 862855572 756854475 735074784 388130424 405618267 284022572 964907050 245002945 369132699 401940462 824904544 429200124 630867299 893050786 418119020 703429687 862267205 799075241 438105165 246340407 425876436 997485238 526309352 976359470 196772186 893427851 973419567 874253204 995065102 804673681 470843113 473097631 865116030 273498221 652411687 704817281 422870491 162516980 346642927 730551458 467544100 526058209 202873107 140036299 451621535 770647041 344254934 461217956 865121080 483090030 478947204 392699210 309507070 312251440 647452749 502120308 304968571 304547543 975701911 277415128 481116545 319288947 105997126 626169215 414577790 278470017 666664017 857379492 859071369 612575583 964354025 819950033 824979280 375339778 568687143 301500412 197842093 895458995 730381470 516830151 610930735 484432956 790906332 825228235 461073793 455380737 836814987 671435365 541509824 727014700 231773049 821846168 974552470 575206921 687448703 131339464 409491644 991381393 589231718 328194473 178512561 604464479 985687394 681700437 965947957 321354727 849456594 845536519 831652594 684154800 410301668 893075075 533353651 699899868 596280143 804374410 747417153 666696494 493744166 439505016 747752893 724247497 491006866 738744522 141699800 654382640 143898003 209949453 863779613 331314458 191431780 399312213 806551483 842927628 747571197 580729416 670186154 374109289 803849345 196730440 860809047 453299344 810072201 934928546 503753610 772017000 365266405 705938493 964310356 442495788 316574995 121705736 296417748 464488730 703861693 708716117 214458125 213715201 737743956 206386013 381268528 661814495 125626558 497957870 589622676 840793607 944514517 999800702 290599374 527410405 938054519 594472744 891617434 947561745 672951799 139353981 630809528 180992112 700700010 365792103 627200573 636737552 838640819 127762706 625018252 832029257 944817842 402052862 481662374 710540913 216062110 935318809 640590300 778396924 331755741 404158668 988396978 505654168 259322067 583166460 561642156 564692348 804422359 398873929 335883557 381593977 693841241 232471118 134564749 847431827 141216423 790066585 372195497 961002689 318838885 212896452 106397892 944442248 489446911 779826852 299248811 198154632 762982064 923752310 909704596 701211955 495694480 918378181 703666999 777793141 428087196 542809113 941599074 761741405 399574880 912101687 156420227 286368354 877559382 748977454 821598569 108845230 128612327 744061354 899509427 634152577 794641875 538461044 779128795 219337977 101770953 955601508 406808695 476915349 559627672 922307675 689334886 300158205 923588260 226127030 199774602 399012351 984524824 262180515 248505514 808446354 825439102 768094895 561276675 749953085 321376663 256235359 469589835 822333780 621800714 149612821 605094957 884567379 782379176 152084422 137352559 560952931 527954436 725142641 524557501 207520678 274477949 706940997 457759429 676656207 979254463 747323084 301780033 781582496 612144508 317192502 213319824 307593498 915652602 955003943 424010132 437860486 455815337 504977169 462154747 646155048 668478003 583341932 956663010 193247300 289161015 285536421 577103135 544280910 646810431 651014950 412151097 574178712 733345260 378580375 487836595 232576502 552758300 492837577 246807453 844495129 664899741 843901385 369723983 110612207 438482430 578915456 569751186 670254061 329139197 361179519 957486606 149723530 989609122 831760562 341138881 656515477 970897223 951169772 224929420 172668446 872454926 398052021 275747825 515735154 804730952 914445014 935233494 146631036 450142311 199860248 437821051 793304679 901984695 730028471 825048900 180315265 894137478 162331636 278099042 285734362 629547487 228473546 538740623 587109825 923930226 671666413 416721279 291135748 744670247 145170230 682217285 562672145 662550491 383549592 210147152 128281113 328716147 553786725 788025227 544027498 781307406 972521621 556188808 850898835 677084709 712114587 837354641 478174054 465359456 698555806 462153323 708031750 509200080 862920245 897045572 991871248 601265292 647757933 268824409 768299189 589293782 545200151 621337732 922233822 469807780 290603864 988752778 859571385 404218734 254591142 539376512 323636683 204098586 684783681 451513296 664128121 154145268 446460869 924339211 970119718 358549738 517597807 913295011 817202654 465700819 583077057 231013124 309463625 206333952 184051187 476885730 947835076 444167051 971009251 443487651 948734611 222687972 722134919 286406175 166642633 561376673 971908829 147655236 563324689 137322100 827197943 910004131 474111721 726469339 588530131 162450972 763796029 393895782 440210145 608136312 277540562 101800547 368849383 323990558 976247546 855199438 464149803 111395433 216503889 130036327 446023497 356187045 783808430 124953165 596848714 838704557 722575281 490591178 242197203 986982393 486655718 141639512 774916567 589675203 897254621 870891288 562685100 388109686 288748120 312372074 658864089 972229879 675821511 962689142 352152567 147499735 409161307 826923933 262864732 912670983 849273185 491941034 547441571 775410587 337861682 536440875 977648059 368664561 700899262 574199466 604191518 146127409 237202292 832656917 404281599 860000783 835887157 746294487 526042765 436731211 551949456 411232984 681747820 424724799 266690885 161572645 286769712 766308378 451077601 873344120 961363759 658516058 953845859 804527741 731868554 836734418 120449409 580678997 224578429 428663901 489344835 384972285 818924637 121697434 910745329 476091414 798343249 161173230 920500389 381911131 131278548 134232520 457902825 915712700 495513060 471069526 608908058 734817944 773416902 259344859 314356356 335179521 232671159 354540415 102842838 645641410 356319201 835451182 175586642 877988247 467807087 808454121 642472696 904966729 726275863 703037612 829234953 898958959 493717433 482917696 126244083 916550405 323852878 791865090 861412801 636649760 365458749 730192052 304220580 549300423 530049908 560070499 718414192 180524394 455614652 799163809 923697783 520944501 842910752 656744590 586611612 830688092 985006202 540293886 291495151 706924784 714591572 769350004 438864684 471544074 397372033 924476073 215888322 236499149 619087764 977239683 408266462 601476427 809545636 948258884 928504054 978882039 537885976 575770334 554610663 546568502 701904446 965771788 327009618 136405151 558878288 684782478 592092501 781712134 511085458 801956466 413206910 706498381 224529268 645500677 592895103 453090426 507495174 990897501 201687921 980247308 237376843 151322761 432573996 964547997 400104488 506351134 809041261 295835123 665867765 193145344 597828438 472607418 286933167 829314684 840529071 787238425 409185608 892180813 376318760 742453397 133527314 935758592 253424487 738642659 420956414 548362656 621909472 444300513 881434286 280940380 810054262 937229980 478230102 148800460 174940902 683498600 749495492 743562677 763826093 366725054 782658731 843247009 785354605 564271811 746340606 120644836 748402332 983099265 645534289 893288055 867831540 747549560 162861516 888797753 802052772 240763502 543014077 491847024 186745922 639261517 203482782 556996777 995370818 373509437 553483072 204283346 983738234 124088917 277313735 960469251 531071126 705850585 410200256 608648917 899367670 509061938 547655034 587141987 325983320 780838225 419439108 672807775 493062028 378421768 637339535 338216320 978540951 241975375 813146078 303775855 739037058 255436468 735720150 407381999 882156470 477812404 791609860 594964254 528968329 109120246 541791876 968116395 930742727 510285118 981350810 617097677 100075581 526304529 557618258 280001269 179803586 857366479 340937461 193339744 409686582 563426302 205852184 918995739 770195587 670264696 326698077 828635130 602858495 535989242 573455012 442248270 630033844 751534215 537183282 266096811 841518531 320527695 851573770 100827739 713750573 695042930 257864714 650962722 842328633 686517434 734422339 421892167 559876047 703252953 244008390 774778524 416550076 140928825 176319045 896139053 346253411 448681745 654810950 433933349 840328607 247578625 853049029 888071408 754658720 352398414 695898458 372927043 352639355 887452856 972679828 917144042 527312909 637881092 675588205 145570526 594762421 317928858 586449127 157016691 587321288 351398022 419292735 675865296 728108424 733843622 549858388 438585195 520631708 113018353 946740312 876522940 328573758 586989785 246795914 857952062 452255156 934959556 279776217 733613635 607208939 448003266 765893084 495532500 675136699 588853257 422902761 680801770 246794227 916225483 141344288 437696611 544162773 699723823 962135842 579444882 704832166 201539356 185377790 246025079 129946413 872698784 169979702 606680672 191202152 762627650 615036136 570162873 522545743 598846615 696754832 706837386 557467937 680762732 334811945 716397516 446628704 783291310 383642975 117032194 818803626 368448023 494242528 337301317 236631006 294104688 425787945 653437846 876873015 528650711 533816114 863149622 522251782 947108355 337017427 860318840 896225628 849197275 388592824 317623984 681319953 617997812 571079287 337410570 717371370 104534268 937623821 774789492 615059119 839813837 411610237 120855665 933827838 190657404 426442471 912397736 867482929 693696809 884572446 475256119 520310201 119246669 902285238 949105176 492795958 634172061 102820386 429039279 218178644 389776953 392968423 412439465 205773426 854877623 350745652 354743465 380007158 188893856 289037773 306606905 732369405 264345428 137059089 988581931 347568409 875513967 121856245 394721639 920262638 967764235 228595137 551310874 843487715 878708086 423989882 568856211 722782953 656399212 245847644 631387986 433662402 969426852 935087070 564335177 927294878 894295420 515447251 420831392 266466376 961343780 386053203 700955705 776460462 227545420 762544304 882850820 953414162 279544494 293848419 552978153 687429475 420020637 381169216 901471252 300490465 539993579 430156568 785902930 975171328 879484362 644577698 809974041 907901138 980131808 143692433 219336761 231915274 201060128 799942884 619382055 980868430 730586825 982728109 825148827 663476270 860762627 983779121 816594567 798075978 398163158 839292226 714981889 340246852 657115786 455119575 689086546 151968575 439381325 132297053 327277846 410550812 137772223 374445898 414468522 319002592 790103488 946473579 611043119 456548058 810361220 345817478 921655236 306149696 459276381 376789166 956093363 432698703 696611105 218755075 367897159 453658986 110021845 302161990 594255928 531397397 629599969 741912916 372494164 594061077 396193390 998066931 620454713 543881879 260645827 510360990 440509631 751825210 779629994 560063649 786207110 865377851 999041595 722472629 509716020 672285485 494978375 149897264 491671843 204574443 260241578 118562246 267509470 618226652 329899419 402453247 872636508 653980633 371416772 452514514 131489001 337072834 274963924 409845423 976197742 377748682 376658038 148778642 771991039 630779497 297657588 865963179 429221478 605866434 756950810 791707174 248033434 155908819 213451348 727192678 590714930 301664482 312671726 748837017 817538758 294807026 923958865 348999180 539592454 954542946 835385894 505692613 217728331 231643731 768294839 382479668 804137138 135038152 374799276 602108793 619240779 956756037 725458864 109501126 274879621 335064277 324092067 185691559 518799945 394275665 555843662 222942711 253737552 347282105 593210406 196275853 675887309 921426859 489800940 660226688 290376888 330158229 753275661 139405167 502157742 456764780 648132864 950159408 168453930 979472491 888847598 764226826 815566329 707729739 538696067 135801283 539895066 395397953 454664536 817668515 143507775 594222905 606099471 596157236 237299161 835389065 741077724 540843369 251679757 888899618 561207012 414956299 487855172 772003508 240640693 273591285 367579060 268455823 657587574 184133834 817450564 504473789 466046810 514120611 237957685 738834883 862226414 972065803 895705349 354976726 448351910 424249560 396935016 118592329 328505323 947488634 327052135 382315180 674260779 753323758 943958460 632077832 867335643 590634046 218770929 894636687 528976359 338934303 542180711 796644501 264863468 682717637 178771159 449390049 647903743 665954154 557135513 112860843 726207486 449646030 453494552 249254072 984517881 323410917 424514959 961062727 778046907 571339147 564445642 928752116 538674954 510168208 774717454 820099881 254464908 691622863 759027312 891216976 865174333 490429200 843258462 639964058 867521100 368051287 572671432 307387563 526145922 646348529 566795113 531725937 655127930 362265557 204800081 711995082 258554832 470785074 739223230 379869098 553879501 929454022 315943896 764031246 678057316 113178016 284958481 764741317 761866498 673062569 234259493 176301383 312655071 400567308 374314259 771971498 300665886 911408099 668080341 497485632 633933657 128898518 402255757 646016600 804508255 378751874 313945594 613107830 941691750 517207801 140848478 765323842 416618790 220127824 873740751 307537704 106434713 901974330 205708425 759087384 892018397 718484777 211105201 636858154 268199690 641782266 223033701 513060036 195089134 468314832 602105275 505399709 431287731 504142639 835201933 755439250 219286388 480779179 546204678 355108054 371123324 702239530 169164526 932725927 566625455 607983109 704021395 198108691 324514113 681091643 337397817 250627938 872483920 894595360 877082328 274614362 802717368 852192986 618051149 652601102 430024994 877492649 583388936 427658055 822290765 707844516 832244942 341244814 776753736 299184188 902496299 893474714 659141366 745838266 500692541 219074744 591941136 530406553 245398751 680507666 184740307 493665770 335626998 847732877 618813493 502900093 519139014 750933588 581530541 780442965 133960753 840161906 488536967 332032400 800723379 682974872 351306549 105334803 886893960 182227615 356530686 852911505 975466536 649415347 664612979 803099195 187501286 206524937 598524128 211026927 741251326 883554671 188004307 522538081 121566601 319113151 773915170 385362594 989159365 717097235 796556788 437825029 932157722 826675210 953013709 662034901 588800248 331607670 764095383 700764791 553680328 192908838 476568600 133001487 471364099 957009200 885434457 294709363 306674071 860187651 248047860 188238300 768804750 158928469 645148242 787627107 397892536 215843213 156584522 203471698 630562438 296035182 645606122 430023366 827067570 426663199 822472565 500404106 534546628 911489686 991490816 666814757 594123666 290688226 569261090 236852314 177013209 695654519 424627347 939178770 689492471 467509203 422262498 381804234 845857189 884111013 914007477 101666346 737154277 606400399 203252839 973369415 839224136 978858051 405173947 418477958 832845824 426733824 126284848 738322993 297132011 193641934 155182617 480313679 714264858 129820566 199316025 433656404 477759470 141141325 493960830 296114980 760765802 546602328 166275015 200424432 875784743 859348511 626789620 536930727 258551242 976278337 461461992 190284741 135719972 652331113 710940908 171531222 716787337 353663106 225278185 662751843 806516921 522988934 518442757 124406364 712633017 373949497 219287085 693979174 622962845 524087979 453404340 262399528 216862029 144914280 458669737 185131614 816660208 367158256 751553956 393040670 308513858 560648653 819590998 921399105 426274403 506297712 169347614 673087672 808419347 620498127 262968945 824724059 612553062 572568204 701148059 976124260 759664157 449488593 391652750 236167691 725669432 203422975 734808723 197986727 322021059 800262842 581154521 252059690 721951995 716961762 452164378 134595378 516999702 131630773 650308566 566334858 791725730 142125400 714410848 441563445 747528686 945415312 182588437 764401343 728100093 325056544 213129866 136470644 664174976 377821441 318458073 231968449 869990129 620614526 104665666 724457750 839844080 926783996 634047729 969966532 890337793 551509976 793483819 136468377 903587512 856466570 421371387 318621903 249201665 171965296 854599307 880808500 172298276 448599395 520577860 505358784 523869048 863034226 235070803 684242374 223034164 375601124 832748531 146700749 953411759 432441795 830805043 210108877 411476865 130125164 980311981 802275914 389681336 949253899 310765853 619539440 131495136 495681300 765764752 356033055 670931095 707094825 532304840 951384073 552962447 643560481 779800019 428487228 337036379 599735287 232449838 575891398 485258507 646239738 893709063 779754034 285213383 404383085 304443778 457991272 744737115 772535815 180068890 646993641 953387631 171480360 974039075 274279908 377618858 767493527 955271025 875684552 493214865 518018468 316937782 364124225 780769154 881685071 568777549 529048545 990524687 613126207 463980271 995893179 955940924 722470388 429250737 671433674 110647445 130567137 343736176 794552038 671440680 729148095 895474212 775196677 459013288 625900871 888143845 572424139 532671447 222614382 433479941 116945357 205390695 419679160 691463096 407598832 159372779 636242220 533817237 647938653 700791041 584343934 135090230 942613150 485959000 689235524 769931564 104676524 712764777 750046667 497548684 218892219 292337593 570443751 284898856 302769545 770741853 539399831 956767270 570451420 850264925 520401784 580017901 749619276 785546900 342827010 799752434 672320263 249605036 450387884 557537679 431120466 690971933 126392445 166825231 145724366 711957719 920390502 441144009 982903025 756798627 810940977 657595730 447216546 925475949 612398997 554345595 251025140 159879822 897186069 394446727 316574109 594343848 529172642 730738332 353461234 743367196 678520137 332394041 853392231 841463171 807552850 108846246 373607360 171884037 534270219 200104645 662965111 541751517 719866012 747811788 590545863 459792575 557239477 549394559 231069465 836865526 236934905 293094303 678861067 710102164 973278534 492982518 343328413 446105040 946171559 464836332 735829418 324445619 706477202 869738356 751409666 513252755 133803303 908515979 307989308 426874271 663168148 232427157 761878685 402094238 620343550 830145861 957006505 383831745 428998983 361078589 226222188 102737235 140859712 284408106 210052850 782139650 472412352 123303929 642088074 513724741 897533634 454132218 485965946 668256886 764392390 298729878 245737034 622603659 393364868 766719445 347690110 913777114 366630238 144258923 980893161 407780509 838036065 686701540 881129182 853342777 306507878 699849518 858203952 454578645 202439325 883441138 927803632 386827264 757769999 713948147 959862135 171852276 192279560 920716154 249632826 887657166 554954552 491630625 609303778 700016081 595666487 816131190 922689271 896261605 423221881 300438005 954498823 865601210 983330203 668916250 936244808 977795060 666292103 692872615 650478507 772792226 222651885 478343837 501687973 244830896 133221086 113767712 100174730 578747598 626208085 747449925 300491604 381111176 351216865 582141444 211352653 843806158 965252021 954045416 295714321 209357138 273864822 203726923 799518896 414074323 932621313 184762038 753557572 237601898 628033835 765062225 248887984 646424741 709134592 126661853 444218078 476273770 617927305 468031760 983054500 586681764 160328404 969737458 171301669 866449685 951288045 352988317 564432277 729575856 730594654 155696994 651465765 758226537 117959782 489981822 715472842 674972981 782393334 496037852 998095675 794755477 726401838 892305000 694397526 468404892 825225498 869944399 545852167 772906232 342200435 271516944 400547937 781583005 517342234 811639040 709376057 198955031 575537942 153230571 746450572 912469470 140228089 590866204 809256586 313161855 764993826 586765167 526655774 210908949 679966403 429709774 149819722 940844033 398303866 811819335 978184295 921261964 146369098 385690180 938594253 239683296 932522109 377936275 694561447 117775015 487240601 386881524 527982648 404292913 402737308 510184996 698542784 676178956 314231654 436374013 331641796 842483350 776406253 783700765 420485233 898615530 722144889 592302289 260168865 242466894 554367620 782689501 789944800 387434170 156453363 806916399 460095699 649835452 652346801 693264288 496074013 437941081 486179269 957481069 285062155 338860425 246683676 891723656 666430037 447643535 269323841 523331965 483599514 266824722 522677572 755408611 938050959 557814694 171969944 318845157 117245342 786219800 765367419 510596974 814448133 659801442 218587215 579586279 783505944 375654552 555822271 354243392 263820651 967528643 617085926 832475148 966726933 528953104 932298013 123258152 523899787 344852461 796336683 224025024 194242105 992381492 921265746 542751049 438827764 892302880 438062423 578302328 705115133 483022535 844219468 735895798 234898311 277983043 892294624 457740764 559065530 649323570 269580452 996473439 621226883 520341527 855323166 685358410 250154601 950041259 873353665 875550382 853322979 289266437 649254608 534839321 491936792 234650582 933230600 538160972 423699752 627403645 794828756 118311835 996533731 298310900 636615518 852108644 465919037 305542754 589642861 375297932 374225142 312730254 679031839 993005796 599299172 598802946 671312206 508722866 623141550 669866648 270283245 357358977 168308777 257827366 691666841 887582296 268394475 352781760 936471092 542827511 153652578 137058400 990475591 271340942 450929071 551403701 707701438 703718187 812724731 114335381 770681738 452353178 420052789 154236405 520670679 652279770 697243046 187104626 280096550 786327306 467476793 864150330 175985422 489255005 598528199 419817075 830751235 399459681 894385740 510547040 383191116 462915371 940223733 933983839 143953483 226590428 673477739 656109529 789694690 783329782 254504428 434547552 533320918 958914065 838532893 784480803 450893550 843896753 443583005 980562997 695409146 889523690 873113360 365071454 912936920 548596349 853079401 125720045 288962269 575433299 646599868 461468092 707639497 652378632 998598038 395659600 562310725 282646672 990579378 918946069 335988957 892233019 561330304 558870279 482779892 878937981 147886084 503793626 294866912 995453570 580364799 422959627 816842692 502130820 171941300 982833540 690528949 763124835 479698882 511885038 206992910 371017972 962519447 578763677 649449903 451819438 287004606 549004098 213576550 871713882 682566790 127840387 191656985 735286210 725213625 932828860 171066138 888339397 279830306 888791030 915417739 809731108 532062557 206804229 281915944 894729052 246100644 925050083 662512938 567530562 815306836 235507920 963511505 195088211 669657067 225406359 643528197 455362274 849298035 678509544 794890954 271178772 265792451 971205319 628150600 171761931 201073748 149239426 487004830 274935698 403321219 380746126 574244677 490244021 537076296 442872201 368414208 908069736 753268378 660950190 646714649 980049546 196093820 843238612 948653618 240001703 148117661 704173344 626016026 817315554 106683297 376891370 329448363 285203452 513693803 579820847 944825524 948214986 345104981 382353323 669727726 928421221 616070031 289659372 450786369 309582172 354245699 728270524 579406417 578522741 226807340 563272704 788615680 240000273 550982810 126743634 669863359 539139053 818747813 276927207 201669662 874477747 167346170 442332112 327217070 762525366 376863241 469494639 874171379 909792504 736817301 297062377 634757556 380094519 996201964 488388492 868652545 107042270 672215932 552029993 936623267 882327294 165375353 780957863 916745439 828195830 528438008 340913911 648969375 662524538 313108478 309284627 620730403 518673077 114724806 726753148 804391425 975672487 645200802 208932704 669440937 197424056 709615988 322201885 856851781 678460506 857719397 209407963 837278199 368237296 404306615 293439424 893813818 871930642 302151631 888030356 253934704 773835311 419773745 145055425 944326860 256890047 629804032 470492515 382358093 197025453 311281726 485486006 493335278 574064294 801356385 579875731 964037359 123553402 937541322 618568998 428284072 527854656 902609229 942769090 348884665 396738867 335960612 728740953 575068614 594249628 923816436 517930675 838204876 104009130 277000949 968392250 490532899 878902479 731242553 755211391 830152469 633241867 768545921 951433887 496160080 409347063 784362336 874340274 442942247 321557033 661264407 179866416 380846674 163596254 731216923 555744839 699653561 474282060 235437359 730289966 563738963 509533544 687449547 660070233 226710627 881612416 240863975 257492471 304267796 467424777 807652594 581490155 483405242 713613918 685487058 348688284 408563887 539270818 168688099 803701770 118403574 465290408 765487679 860010228 944858125 618153827 136339043 814850397 695550720 302238958 801987888 687522802 966372498 387216672 729893395 140282818 844447731 471849794 545445675 312301196 316699516 227896146 671565285 788112156 201698960 772623358 376572405 231112141 961442681 900696690 960446750 516792798 933838183 163550965 861126249 242952125 170816207 426566699 430973628 344170276 276254652 874965378 228975580 265128777 431479305 135572796 677241140 396046320 673546478 243395304 178778174 518019468 370362662 692149990 887328372 808509486 787065909 423511768 555130643 203644209 601713190 160769095 922192905 166346739 946553266 554710727 285216933 571289293 340733616 703778910 178844235 275773262 803504668 877836768 351225471 104990119 716920811 248343722 340204742 865098239 296121062 345312005 554120335 173449529 832158318 413308428 523325796 578623356 656274700 814039244 745961262 522521892 111792529 854245243 129970653 920161966 691315141 882251030 128842868 748184239 980074892 809826535 630735838 449825716 953630525 151732070 295701904 524965066 147834507 411984753 761309177 235843272 238196572 452026357 993830714 920119225 752725867 286441635 909032965 961971204 596591729 895037552 441157146 731711163 499383365 688547206 217416588 102731358 683650460 757198025 532736061 838433454 283840806 645346209 877804733 785963076 474179778 802659578 984766005 853501223 683673435 169669540 678762203 977056218 899837927 275127399 556453718 603578035 602228699 886478545 377897144 133446590 869367089 611846670 116920954 732107433 642843335 200496034 360071607 182346024 270971880 488712434 617956521 221639547 371144659 986117310 362024654 911321225 725195120 192606884 804229663 704358184 175305192 397890409 893430017 740994333 891289636 452155608 679128333 619997288 368507801 367532794 731803125 243168083 689856499 455015301 568530636 774949279 130293725 619101303 433756355 442571663 873485920 266683318 140407420 413760139 284930555 941816989 438736376 538842058 226602039 273227220 355837025 998400959 672385140 172840890 791719110 440395461 367688566 422347381 979438676 906083053 107239353 318289240 655237260 634781878 826600231 164934179 319745420 843839247 918884459 600961833 366685922 707380384 185717770 675640314 607519165 307836900 507391098 809113797 711154303 481409286 749087015 275863685 957892408 967792612 909925432 259459149 893047837 312431793 902532999 570057470 623435159 472157615 616027842 230684756 925119569 181392615 438883037 263131980 589968435 845779900 631263417 730661885 813015463 966085514 779014224 431980962 551792318 461518034 472882440 751002450 745244011 117710896 156801864 954574762 140004316 141733001 803225119 730415800 249144117 743003226 449837125 734252519 933343480 234334897 439995511 796382144 489289920 348434158 654879168 687176942 643188129 125768551 812940070 602291981 168101926 662418729 508173245 425424175 271918984 113350011 663560535 216525216 153829692 740500854 900996456 245136569 908035504 159990603 349986199 139332970 180249027 457057214 461791425 211599766 681475556 546776201 412126418 604167285 792263989 783857134 433926441 395185211 967484507 786549670 437617661 333840160 794377609 194650719 801880633 201604004 593505804 864818453 157974043 383675172 347149547 884854915 431701081 368909778 698136424 559367483 791494657 990548096 468655560 214964077 545158218 724496364 416966286 646308734 441479564 758832080 234314840 491514012 578320836 704652111 679501890 984181844 856869099 947887075 478497567 688045665 830180993 184872169 491167560 183919417 568164816 778391352 610727966 424104391 330894602 594219548 472340440 514772348 351966324 394857178 760786324 870262918 834641234 442010711 689154508 748626665 263570931 538337359 651862443 428657563 181318155 497686717 605435056 872604327 109676127 156904060 202534989 568992632 735248124 566373425 915223777 363139807 453758068 810051604 877264308 228737113 690060929 163008298 221821294 736576663 462121280 536623549 390102830 682337603 883883386 833916723 961122986 369226004 983597013 823110641 778556110 514205488 102075643 299001726 661064691 867428364 194990567 717681622 167801001 145946081 126774050 827951159 822655183 110208727 311390802 319560940 921980896 151440043 888346769 637943247 416745049 752298769 748130564 347274284 436266494 219529126 253907038 248618974 261374265 390235133 514096407 580750273 750001827 436376351 272189422 410618059 339777084 335071875 821607218 199905360 429985352 546803770 348794096 144217819 361537788 195663069 444987502 794264659 233309243 285650844 525128505 998047203 880057538 674966306 312174382 266650023 997648778 652783824 538614502 957148982 143113930 120408798 951822919 544547209 835850999 760505322 620236961 437149949 135615767 417769016 550079952 637453106 838101782 995540790 600588863 960717243 971076865 897855595 474216324 534687624 165975518 657534560 732295840 975291798 960221650 249122482 962476227 878517908 582589803 904885835 221408033 644232252 392910272 571297824 693751788 152445877 263456056 750675168 125609738 292591489 830475486 522776922 885610808 289659947 201448973 123221364 398925485 459940390 258531134 465591223 663677400 812463584 315993251 885737735 750633143 649125208 562365440 514882019 409784927 453270461 452914801 579406335 225172268 160448619 359332399 331238158 205788734 175965105 662402302 370121603 703520283 498814162 327668147 667067205 856442224 323637343 954445702 429562195 835767960 267405738 435024104 274779919 905746587 932767968 239246068 427245002 419594588 814087369 678380055 349353600 303167706 898985549 994612996 449471442 607631364 502784991 174429845 200710545 579863586 218825262 911048871 613755422 177064307 462982856 288717647 477423845 188095197 324285843 407767420 882676282 120736967 211439753 115353593 188417952 194331917 409346186 789250593 234755514 699805601 911844846 577357276 293842841 450552722 349868529 511753198 967683678 216713542 198239114 952900659 700554951 415459252 373410408 826704353 750830368 236238474 178331585 145592422 200631961 214712294 934451176 287568977 758127751 676050017 816913667 114168147 518622899 636056873 163377947 596580572 708774795 103548552 200806898 445026637 184383599 832013596 115311362 336698132 885158175 371258995 201049843 372860443 488302462 418114715 896510084 357633685 253535628 678603733 695721079 455352919 531116927 193629526 112609027 750566521 727884027 140576326 364198223 476421712 674548629 577098433 575620197 917144086 311598154 741324691 583155078 144722942 964291705 336235804 966854859 224369427 322662384 416312371 778955929 814169060 178733330 528304099 566607185 651478919 253658762 779571051 882251468 986394882 777318663 980664683 618288078 529118640 773758221 106662653 420507108 545310011 400082491 985277165 644560885 196060657 359314810 860027567 313141571 852516915 302253167 971523023 951946772 915643035 519122294 325962368 541869722 671396763 124253673 428048856 487438326 670473432 738981088 805523524 283480684 320768880 669926149 967574557 507460916 534242007 673606787 873789033 234529541 676047711 382601699 121884874 936283707 555097068 224900158 193434603 636561897 311248642 381571101 194376793 129751230 953646419 854713237 714442903 558359654 271948010 226491164 313988146 427905392 514972586 932072302 816676050 357599852 159451366 825596695 453413629 431064347 253818750 477264760 312559000 326686312 291361694 586740873 950894468 154588644 689118401 553903538 661598756 853309978 801336079 517949158 266345633 257365607 504514617 705125059 501742897 748269247 532842082 979065092 525701247 402373715 597580539 979275469 256136954 552400403 713396227 377976314 613811577 292030008 574218403 993846478 535731650 132188104 713497699 372110772 389077376 120326734 343807835 798939317 193422021 882840108 328458063 108404718 643822935 675230809 183403457 129451393 435221755 269352743 199416613 426854112 311789002 953976650 803434395 662075580 596205314 514635321 949094943 513600420 901801967 319843676 957171881 261445547 732043034 769204470 899555325 687530405 644306598 850859785 220281757 924106674 730353572 409246212 357232497 310270560 717043428 968633481 314027374 418219565 160978086 954839100 304763237 724313328 376425710 398482230 529506317 495423728 762312144 378254243 924617747 802465311 875214075 758875210 693590538 293824502 625593416 786982292 659975940 453444742 423788441 240121378 635333737 470502668 740000912 388609510 189937017 266845856 991018220 901065711 177081660 470388722 673383254 684243251 629764516 647446807 496216549 355269808 395286824 969651317 820405113 676419722 965818925 471158678 757212485 358484877 843964000 617917663 382881106 102992784 994603921 982146094 722764711 286923782 134635158 891663999 458609783 239022740 155995857 591081163 359732787 402891625 954332760 402320626 317095234 356131635 376147807 657883605 643864112 492399265 582813139 429489122 890796884 349945221 187207789 442770275 223355176 802063854 318589938 455722328 374190566 893312479 781704535 518727591 810235933 676221505 160666934 211292839 150795428 400265768 910903417 526907264 587109453 303980861 540985824 127432812 587368144 803501602 938865800 224189473 526359227 500925805 683407168 862478444 750298551 782196734 311968463 765731623 100116597 769599329 314042274 702988512 760046523 409190491 493921782 434140176 405319931 411625190 990357445 686239838 807831182 157578875 218677559 465394603 703337059 808380101 555272287 730666649 922726922 432520532 810549201 213107267 362527391 919865769 950146955 518224404 911942089 834972511 902170034 297640644 680662108 596185019 309701631 418797875 183247206 493041945 488820807 593687309 938914574 335446943 785637928 888290422 828336290 877654717 150433785 483673102 287734798 579274478 674079602 862512390 206479408 386652949 972915034 408490978 405295737 557806652 231784722 165884610 402676477 361372481 394233860 600729146 698933745 380329544 321322511 571302696 836290705 339583386 579479294 157492340 248984627 285651536 611199499 266698902 311881196 982810762 646680265 937031119 106922958 187669852 149472880 367733968 748499887 586602189 500016765 420398781 493726520 412014485 778299934 841717348 502479083 993252261 120280873 465544859 608194848 118029632 820349617 113409225 584430175 863777310 932817113 286500387 964832517 876743134 556431681 960619933 794308930 521483976 984071733 936617033 808201059 675322015 918434857 371606819 608872848 723530702 840789750 887726378 194212364 402486954 167129595 916608226 771176313 467189843 523019157 626299840 278001183 483914105 309616704 336204399 663368512 741387848 724263859 173967674 449580911 504388554 180720646 982222334 403833226 863359823 536601459 794242973 969685363 413833781 804217342 721462608 742446722 722962709 828060294 401671947 626520484 868552263 250507516 911044439 906582759 511213370 555757851 615098168 323144711 930913838 462067511 758257417 688695332 391297187 296176229 525196797 820875006 918139941 136113980 217054282 836970995 293451096 733392797 464408552 494889586 100158136 115988336 803572199 886799786 307458842 390184287 549080044 249655562 833944230 767000755 547570717 700415045 924270898 959787579 323027618 852952647 962443402 550711340 466980183 402428826 369941155 902467580 116844639 692262044 112539289 759914159 862588997 767345209 618494902 162153668 224782449 299293922 773432807 423118581 745531780 699106163 452731589 503072457 831976906 496766831 663865713 440799974 519643480 459577988 723001262 484076295 683857376 884684212 747895384 819441595 412235365 978622597 738078621 186330406 309231566 412821871 475780640 808234446 326311732 992246842 165337963 464574759 990684916 821171568 970947965 746243152 337352812 566510761 508057404 366572603 753176876 468321853 764566436 673851296 849468904 422166177 661537574 938212407 183976897 395584209 440287949 862691712 234500068 972185703 658779888 866374768 419644403 594650893 554071671 638078065 656855070 277392954 126015878 700625399 804908537 311665931 309402440 106357036 249772011 557367160 853217876 665035740 533539517 413233197 399695852 574616671 382846335 117908738 147256114 477697380 107311852 398296306 889758322 761750965 893353452 781473309 747473951 896176142 543885323 449738108 815421446 771539249 312615896 394248941 634106235 186591110 909561390 199497059 415159504 225592746 865855604 592077116 549457500 756041949 501406183 925862371 856930198 497877793 961755089 124083182 995459383 341341842 220448844 368856118 139876947 875212051 132870213 720745748 897101284 470894090 536985217 351951796 584531992 818592959 185579796 226004845 491955226 123314808 340094790 744984157 805951967 422059160 185314241 709077172 160846476 659306033 239327152 501534056 483729962 142097662 212962599 102697986 196699264 535732467 775765158 548093768 944272324 556358619 699217067 209546730 598691079 820946014 902178643 511522199 242263903 930404801 449358296 185116167 117937574 258294818 899524131 226085401 628925183 479973993 709188876 749573732 297828096 947359596 931235682 807650269 634939170 928759934 757464187 500974583 824541689 154874924 672016672 225435660 608311604 539306377 598735326 348992561 496360887 454303661 807671883 502148641 619817351 923323300 936516325 951854120 663268336 495275143 173413185 559092870 444620352 136715418 700772645 827459317 814144226 651079354 975847536 463542414 237259203 532681251 542861069 997492297 355594564 755698416 219960461 172880969 808003618 310647352 536017615 352991408 983079710 134619873 133355375 990115777 850525626 522850635 631177604 821693288 762716138 881579087 133465478 476463662 594487534 906933922 704422639 451654276 736487124 880216058 805218177 535269087 263214186 719509533 496237768 893707979 305611951 715305265 665712896 699333402 153389699 779389806 468160302 812610365 180104950 697635313 547659501 995903440 311708214 901629973 904466418 819047742 967715666 285502415 259542150 434417552 730612221 666427944 236705480 913776203 566807038 654158413 444162910 344938146 401383752 555833415 320485442 919390387 124663236 727055182 563306302 155484495 525720811 473317144 493616189 350457419 990106159 850162274 877152365 160155866 137682569 905940388 841660362 903948129 871468468 722805586 571171383 950057554 271960385 894053517 888531566 174526446 336778163 788712937 647841844 238340121 788904198 690871844 121943686 347446627 580155698 468606508 646195461 505998023 835366775 132988311 873873012 504453112 869568418 940371310 286427439 594777239 779891285 534771594 929161751 280018852 703695133 775194299 133642414 498076427 824067056 987475042 593792129 262151174 370570804 200878615 801513756 659390729 526745718 752311121 198659295 452814969 219429737 904235745 847010002 960005729 614802076 433332301 989732192 150436864 723901264 949464146 234227242 691540257 772995475 577210012 652934023 822012229 739113441 598582253 928296736 457216425 205434519 510457032 299395874 109603875 266481725 292971731 677902495 430961044 657480509 558540151 242792463 389684649 753984015 900174024 676471289 767252720 972684953 677576492 278911185 692550737 137480071 663063370 523062665 395313368 704241641 216649606 210331913 886163347 517703482 951287719 501638293 681363372 758258545 986106374 322638061 428668594 814716711 748815001 932644371 376238411 836368692 629236207 690892072 472520362 592600655 715658664 972614842 534697629 973646428 527803508 961677095 968369947 189711523 273399653 837860843 866926075 961801893 458139966 271684878 707079085 578798247 476683849 114668124 787515255 172548395 156984000 115755538 603585297 587506938 376021347 630632575 407244351 494055720 314699160 198760660 335806265 688340569 138051078 273471946 791636036 462101085 349278705 327296205 999374355 307206685 828192925 314612250 219543177 670014931 896542464 634766624 780551743 697649427 901548410 697476160 872198118 467383031 125265554 910952217 357108544 741067180 104139255 919055547 744294115 592532744 352081022 166593599 575911858 317411937 502981514 592281352 169070812 744413790 222356093 675591442 802691085 258091625 297161740 521657923 556339109 625283162 909375600 953050928 931077528 626452079 518364686 678372965 359899223 169287848 674448123 943489877 955023997 248728367 125357157 168013793 159192777 537058039 247901268 332018679 593836503 603280174 426712440 242875651 995480690 208027152 929068340 929281692 875592417 320902629 436451470 523653251 718140157 732139403 146304558 516924104 632177341 340626432 641031853 691984608 272985997 637682201 284696751 797816708 718227697 903245187 815157307 957553319 559770603 998745145 909462239 725082128 662211424 360334883 972026561 470701657 553682086 209065226 859273756 753130228 755808248 696649975 509777237 952817208 449016853 399985399 617303247 259055472 396800619 727137789 908022964 131269752 808810926 389376236 162338409 221795259 911418219 970885204 931134474 477571878 278822411 266818019 316850151 298894847 174279481 960162855 388377430 222021274 489040773 877510538 734753447 250360181 199367258 247167485 206731996 546530045 572543057 355098046 593411823 734506757 794991093 901308313 610653575 831554046 361204767 775969524 622634571 551874417 410607806 451473947 468950842 669109139 915626758 473576861 456728189 662908208 575219325 499275495 250236237 705953847 437240522 452856678 522768698 107415401 416472066 382739006 627874787 914652884 845044741 794351727 623991918 544232536 999622989 667972530 938502256 362880941 182034435 995904794 780116569 164547162 368507706 276298501 556848227 978132830 746218691 552789040 776861701 412035756 772764860 549934294 563116523 164780094 401849621 885832015 664464596 568244244 357925910 996141477 659601168 347754877 204317842 365503751 668029821 223775163 568865262 730978224 945563205 363646943 923652770 245178491 150762783 163915912 996832663 910791949 799636197 449533671 552088997 720086775 254037183 868791867 275518325 504893419 332566114 958116152 886019167 527079024 134071187 341453785 435837619 139856586 865888194 377022408 163964440 858047010 209113510 201267946 149278448 524495080 862815474 190313074 341166975 220853624 431066020 578095249 901417939 431480404 370449772 504972007 566511646 542626040 488122917 636097096 195405707 570964023 637617901 925906596 147541058 978578350 756515463 768457833 155791563 647293917 647617836 270043154 392755762 437375320 802659688 716675714 132289624 505793436 925216990 570444719 715860634 366288718 121167254 987110994 333878665 655033554 291967364 994610212 429232305 490014221 850206516 284361814 451863924 959876937 644349917 746509733 791387691 771813820 702677193 827078333 124832182 444128493 102124852 636558047 722863920 915155838 196649748 619432929 324715321 788553779 487305633 847739785 489659239 929383718 981791327 491384875 918662298 263682051 149501863 162139383 218047058 643504460 407677541 559723413 263504584 148796727 179785010 550942928 170890052 289349660 217792561 731513652 524621843 122228693 468247810 958271739 128875516 771051300 627704010 509716449 518056422 816617728 451817271 378084734 431191563 629464303 474479665 955934282 529422612 585420860 669464058 817468317 436441687 912420585 607244608 219977121 129792652 507338563 274821451 839880489 607441810 554263485 302060775 187092796 543485841 896737072 589707101 575576795 776733951 570387672 676320404 857040192 712900975 653106219 136816493 176583595 429544633 471713309 472782709 768342631 323105724 893814222 966579625 622706757 104459829 180581264 889548322 584277444 788961152 623956373 177291202 802105991 727355259 534247696 907227420 359598543 730641980 854385832 514412697 845004878 384900372 156783199 369183972 731013597 957573939 866613587 560123326 606580432 928127993 501711439 595082238 419812093 335728690 518467308 346413017 370613307 393260659 494385418 180719271 556249046 453192890 125172493 163968042 227303171 914793520 654726122 432638598 249049438 170408608 912578503 975694812 572769844 404694803 622143998 759164845 723489095 591567771 309811440 883181781 194114419 825085402 815562201 506544102 386019312 744284087 272749242 612250732 899671878 752418562 212789179 181001698 281098580 902589843 428331925 892684952 508584402 697196338 796298689 574251719 924520193 965527379 960671853 442387630 902442613 638440906 273780154 371020743 419232836 198464573 327774434 512540926 105773833 190060124 853591226 846082122 275594198 750973302 751821662 252876471 813250150 486743332 184500165 318328013 721430341 931246032 402717667 730642917 778166940 522173259 688176123 715208032 765726581 807917968 269456707 485311245 465216410 477544577 546941182 357057147 549792944 241678942 905938994 101882368 147604106 640922987 277897277 144234666 198155708 228012136 685974168 766930218 334211460 874240669 764205380 454795105 596882287 758970054 108309917 348414002 275398664 466191620 982739259 423690603 505633059 442219404 925505799 542104114 689990662 764830039 885550355 359829281 930520671 840265468 120691611 917823477 820453295 725757593 580423450 447750869 700823866 221268689 132794453 507622582 888018583 994085186 877045031 902632218 282073375 502970394 258103963 314501094 444827692 925087949 673688400 802786289 845671565 748888397 494434990 226344350 235084791 255126944 766008125 704610636 485345462 151857324 240032342 953589669 547973323 908828072 331038166 539468057 110266273 463670161 413127440 951329821 644902507 225275794 740599389 290343526 205905857 811709645 905716566 128499582 940282798 355230392 536576227 527502314 556086616 745823632 102645843 114037536 333999971 768267284 320466327 903603807 149293389 615622491 115250492 906030741 929310429 431984573 643343853 117531530 744772822 438507002 674152217 993837828 490245786 475334948 161936533 920184871 481709721 828004295 840178301 977673615 240795662 343549894 662504169 232234894 170197545 593496289 183487866 907847908 970847904 270629056 326228363 921244620 354103613 105310860 320369885 194353307 581755638 969708528 760364586 697796183 382291467 528517568 831100118 480532208 234554201 571553633 492173149 179251306 503790460 453524096 636032789 291828011 553101918 909167180 162501139 645031293 630963201 557792580 346181146 128968271 295566920 612586150 913476380 369550112 551703367 457461736 867785540 173191809 850419023 714479119 180819327 526795338 610109591 238104879 507545802 353839721 566364306 739014126 207598417 557795237 977600956 959187085 799281842 581655043 496918244 262909619 487701172 947616708 423926455 992358398 831317784 228646419 555536287 238391540 191901267 677252812 147496491 423347877 984239945 961002104 342017318 639605782 461110253 222125851 575413966 471891292 451889733 805128572 972729402 800697844 588295293 520401699 971344265 894227089 936412980 955999703 767209171 711315906 162438506 519272857 809783846 530435547 527079754 901388441 120830286 840304686 114238531 854503571 707914565 871947391 333393798 850055992 353476459 428785981 655114731 645881508 452071085 234426737 339665774 605849167 961481931 529895664 753897960 447568671 750352489 958605270 394208796 340103077 238015628 898300272 102047541 533717844 365216802 688539791 109193319 783665202 674046323 285851037 683870518 826050646 210804406 408937002 789424612 398780122 489894836 145871773 402654905 497742902 865951538 539388538 840799650 193937143 432495439 734491416 102300835 546040970 596591949 463230449 776823370 608315147 797180515 449069432 170395235 854137551 697132322 955642057 289344000 788072220 264552707 162332920 904466717 640034362 224262866 390555101 339117205 908799748 776423685 934258774 656469746 817504010 402044059 173611798 269965438 345664678 542586320 129852437 871782128 308942000 545320244 759731294 992902536 954666096 814975723 965289870 651184115 782770279 675008168 444042217 881120249 465981448 232065816 388542020 592968096 892303326 984565550 905742027 213998081 948676439 427427784 985826986 514875946 878888309 365834592 345447818 674046925 532573500 725999794 116178998 877335157 207556204 666984783 825113946 546393679 836470254 608996526 500026756 558566286 172660286 417592316 282856772 146050739 591302016 652411853 121663615 356768634 982504320 353668210 484942969 858676867 892968367 703310826 208930960 878209988 888245201 198108077 894537755 453777743 138271180 514743509 316892127 964727348 423542755 916699780 550446824 765391910 296050220 408958448 210648710 844501128 674066446 864029926 970095189 656893021 968498445 984688165 465158921 260956386 763911463 932015043 864871944 428854787 173886072 249030965 106679813 359778811 927213318 703099396 512629816 230246164 943703663 416811006 728441808 829732570 793422775 161511220 801080939 968135714 384936202 405667810 931012212 594243737 163314768 673382721 993212486 242845078 280673531 539910344 967882089 934965029 431014405 552893051 877111796 285278543 779265357 367648333 377878149 772525569 365689343 136884435 382822931 580530302 324923782 679154664 589716787 127998823 376847716 306190212 301881372 334115644 732885367 756529154 285307240 451932110 264769745 336367031 400213342 970309793 222023882 171988034 390875160 326994994 204925847 473108653 769861985 229355432 603397326 497200899 804168936 315542985 588666961 649049771 240717678 640257589 891445403 578352271 792317333 405171719 987889813 599541397 300900918 970097406 993414577 679083932 277618009 837032141 804124181 236190892 450051532 542363235 383152605 597524839 616201085 941310165 686467010 776304403 150795322 594729542 729176920 406284179 783171535 665843877 471599034 761467201 400041730 431452750 367810744 912573665 758129098 517176980 593157312 440514349 801108493 474618449 786453638 106917085 761577295 921776413 515998647 363745405 967433353 648497151 712518534 852668235 277683979 325609770 994379417 484492665 319696900 993411180 426605021 756654697 231925262 653185075 293241487 763421867 139413211 309665432 657457461 286488357 258081906 159994522 948943358 239522389 215998208 983431328 276828802 430867788 119512350 503894216 590297243 202879149 145544990 598589980 379716729 436593124 650337554 112155235 244300139 245924806 512047059 161609793 739143965 851514459 992486190 490996554 818425886 244266684 968299881 394195857 858788700 347423489 939324475 263951692 524477336 969820931 132240274 303454632 100992167 132427511 114246595 748372485 778227661 395190394 603610471 219944566 380742185 421433350 205542677 992798467 954399644 380373932 959578376 782179761 509007210 589152067 510933390 399675704 786842837 542053527 893956419 537254639 571679527 174478441 629710789 347557820 343757068 186286426 959907960 962046510 654090697 707574449 272075672 655502502 701427135 498935408 564006590 638554411 417094687 689529988 339634404 924430846 105051927 622713282 767230862 428973410 688705829 616708798 743791472 299111523 326459711 446296182 915723138 727500380 434126718 280656383 670356943 214452481 766537631 903160818 843598843 601796988 266673305 335749936 187750241 382160603 229365644 971673315 902033636 162523156 685594989 131019242 403090277 586158875 323892639 397768464 348473351 283805207 245004779 559759235 918385888 455662540 314762820 465252464 128017953 672718215 101213954 224011073 455383906 701104277 490251284 179780222 106005056 752310011 109136196 602966654 308178266 948913999 216711892 924491097 938577337 650233562 612921528 691872396 958587366 612294401 129188525 179720218 138313382 644750090 907699209 433437992 186183855 845587810 308475822 891080529 504120778 424313966 787897392 870996649 920704507 826840700 347673808 247642896 365691262 761050457 638682589 223489811 917626372 633859732 410206524 892681669 974808892 401454720 461250966 564172805 372207097 890617651 716474951 825492425 190258272 630764045 443302417 491424950 905658200 729942904 796637840 326787259 422849148 197976172 285300157 970107265 122126512 365131067 239013249 483694820 560085159 357338940 959953577 223409910 579635938 659150783 227492336 289143163 864965995 441811718 753932038 588035743 422645107 274410893 982143906 632630332 935821939 686052805 327505802 596361420 915310208 214879554 673338051 998302976 316664757 799694761 417393484 327570492 672986804 259589981 963801644 285069719 781484947 317701562 183156337 796826665 386070280 546474713 595807768 603773353 718955251 473980587 316803950 974359840 450153542 718328129 754272836 666076476 527229246 736643523 353369552 747878818 788714901 437809622 799756159 105867126 517753684 916631097 648705698 728659027 484647808 149893825 182731122 567987090 793060896 645411731 893280510 486667239 569660212 635355409 624958670 414606414 615843761 526856941 304596463 856447273 392538482 689325674 437546046 940486210 434529467 224223494 719606947 668185011 181554624 868415300 766005843 392288526 678591703 568649598 532938776 265712019 852180565 112920338 516594871 462972456 679611533 641598853 837696421 806843772 607684789 194063586 957279775 146496789 222285899 622297943 751587471 809623858 982151134 545071720 237848265 114806525 955349867 316968559 434191236 300201516 266084594 173856517 882645245 589647737 518373910 610877213 741633898 800157345 833266100 964704124 488818120 570417238 814718031 102642793 398026491 747409431 426729651 472044426 914617199 493147096 863475039 206815135 190215857 647050544 366338230 441046767 742863900 741263981 359681220 299190509 657273507 827275744 897194253 772485925 122738983 711617775 866564875 334037607 130917990 611866329 200129431 956209783 298786670 756148409 903336329 121927719 596394397 748667035 843974404 111931147 485519721 674589428 280629437 844682511 109903140 590873161 349422838 922948234 487757991 149905532 477499713 131012680 360598242 239542548 596096832 509947431 416499993 516467189 975102882 838715742 516710840 671590838 339397502 883773454 651934781 691064514 728471289 406164829 592110614 979260218 680913317 285771448 714860642 885202531 810108021 139536489 837306015 994821470 397707222 296084766 481895580 181662614 228903225 989170171 770770596 683860157 792330242 896590506 889045065 693522327 791043271 763233285 929504858 877974388 301278666 966324504 332347462 101061549 203008512 945048586 994855651 429587152 777478310 216280773 585547456 105449835 784333917 117069170 166421634 523046641 817785685 657038938 314856386 278274080 703147715 875909460 486885753 798772912 844676437 938202284 997299202 140165470 546353646 209066008 698811889 130715474 318448391 648039838 918099642 247280051 348585595 131786437 574185528 822088817 904557091 127440643 480325146 482470572 681440220 931458127 846627396 271994076 889886951 442481828 297426576 971635296 732221147 507083845 898982056 810190470 997534199 185864964 556959509 635477175 274272209 534216470 641692040 703256535 969977474 520932029 590289968 785746987 298576758 569608019 830075658 260471413 957635908 586708486 377381423 215828532 258346001 824420639 922824197 888399491 732291431 641431127 950237127 460901143 231098104 676861757 640073611 601230105 122695575 670518067 413802788 265283293 508818984 231336177 691768625 434176749 950517394 349213854 604188673 386027786 317674662 415557062 368300425 872568562 661530461 987713579 155166208 192359906 455080260 314644004 308405523 286855255 469453688 284776269 483914193 766157265 813953074 873363422 855855713 667983636 366478969 350914470 706327280 999726960 837208829 361808834 605232813 883203487 890136708 674033783 133572392 398932801 933968227 179213373 982245045 615372413 574919804 904909974 407024640 390949826 198764749 454838918 511028824 193795748 414693796 685454606 716711167 954747085 366612159 734406821 338507973 261818503 367068261 611751152 322787855 889222430 159073569 654829068 820404223 680342591 597893970 981654992 689920921 632629466 471244885 911851178 608126877 685698739 583010976 175923048 725059993 699904384 423063488 494426853 694316617 924353142 672822531 698506517 931074893 924036238 542186641 185652879 740967896 853308758 843110135 612728294 975006243 842753296 207431570 434075277 157976624 604775175 254132899 441141618 657412852 460583005 998167385 110221238 268402346 835732348 763712599 963513328 550444544 857781865 841941901 211457322 943262789 559714972 973985549 683760094 864534792 481996326 842487034 738237109 598290898 846618075 361452340 265822948 177537904 921171304 238555008 573772176 920113978 296004422 381219693 146548510 502882638 196144062 778428681 407610564 751048732 496035795 178398152 995283678 395265963 896377198 743503890 475644664 966921609 189432578 946818552 244929706 232520017 718701366 421344390 795094524 862503618 192654761 206336418 438604880 187356373 241860665 901786638 135079660 169362733 773839789 718739216 378667959 120055927 555544429 927239636 495100335 793681652 279128016 117499838 249703609 691635628 379175507 838238039 944984286 425830552 222150903 193002031 863584324 157232053 978425523 763369328 709432684 426718451 459263462 132065278 543853836 955855729 905686450 898761913 174860120 867283312 410385193 495058039 208437674 856982430 601839530 754173019 478876546 758907208 164509557 238190258 813669113 722497361 680014420 188809872 912588253 598744117 516648952 119705874 908875552 812216724 198188787 279862938 801194089 897494006 998260063 840681936 148733822 939164410 171113243 968772778 263460999 517307719 419001240 986219949 233873373 979299023 333893423 812240806 546854374 828576948 416513616 982435047 382799368 280828589 930876793 455276203 928814477 236700088 177875730 555231497 191986197 767437986 867411606 996538171 800359033 836048626 712170076 855593658 618667111 480693344 665229686 831267643 757005958 627431501 227119141 223940501 593192776 808831100 422910892 899273955 167076216 932598449 717102818 736007940 658953465 258508542 811344678 205849630 881429907 760021669 696476737 386938053 721978403 121129495 374247789 217233634 314183977 848473482 171563200 860468929 667219066 737750444 323364405 822789444 781151032 626283796 451584709 314967094 664141550 227566241 781740499 588448262 640340997 416824176 392583123 375636598 755587261 878454500 192185064 174932808 209675156 319794138 878955793 819424430 359515978 609567378 733840328 980989838 479466758 314502993 142732595 334878121 262742346 212935921 519891989 555776305 333167786 939060688 226527297 509914920 741062618 616704456 114503954 468723249 680472221 297474501 318859375 334951745 472761584 917992715 920497367 161063020 975465334 101002752 726360130 118690722 668406063 517588405 671085819 537452426 637095862 106821110 872455505 892464225 440278253 933461560 375274983 234919870 918781071 122900362 995004482 625381554 183446121 365215661 206478902 472712994 785077263 680556207 649351758 664829749 450969441 963026865 999353853 826033838 471219408 327823889 809010379 773873043 622026227 802357824 815939516 990330197 800616311 693842461 206710179 342850124 627982368 241835464 610553503 165988282 430668026 921161103 309329774 798411016 925949500 111644449 334192849 848146993 836771985 596504072 867546584 971423709 605810496 445780859 370668942 101802047 370957636 504746421 105650212 935923388 970413152 190269300 640813317 525503106 459872131 776494447 689431560 628329437 539244464 212034310 868659640 265627275 610055118 177086224 676597200 686099836 470385100 147607424 998698965 401188519 120481584 932419311 423775605 990877926 334523046 612962353 430041164 125564505 518349497 125792501 457596606 760316681 123804376 408123153 681116415 248344506 663090971 755320538 152135014 412139885 340201537 293269700 543394125 433652146 539965861 955884957 495440527 705788718 278641279 192925566 780659624 671026840 873090946 115558341 680832733 101369719 794096147 439821912 423994343 418846492 227035135 836119176 396721003 457796913 651879459 463725605 317221432 992424555 808936623 263332719 138661291 934082413 453125699 302099935 388297630 520685815 852937968 292523281 384880328 227635047 999172740 719701299 134840430 218562005 871275465 156739713 117802584 670282675 789250143 485119757 196218369 882244839 993487440 589288064 990637218 253384864 335149247 226667869 691075432 363345058 909189042 980132684 543270611 514341578 144040603 168197222 290993879 451226778 392495423 252963412 699427854 465203699 909943944 734761753 989385075 585073216 508692625 689741056 250064759 655833637 643038914 324966365 838313452 857040476 712027347 199627278 329972041 651019814 907213221 204718420 923090233 124280190 335851892 682517423 814009596 860634315 138929276 395814299 239798421 986980696 362706692 616457367 484996988 180482644 479799016 108042311 117424004 898756259 936140770 626672779 205680658 372797405 513646244 429920896 120483866 181581246 274544021 986681166 674002040 628245113 753820828 166765110 914059566 700652730 515608208 551190027 145860386 103850591 238891772 480835290 850766513 185983023 546640615 658441803 714587857 267440201 573421673 714319310 617797840 707402602 713138232 455489335 914276289 293784326 754473763 591044571 956277269 134719842 951007430 483380923 825857891 312117872 512112642 900655995 393770167 934231341 522671207 778448587 784933300 564868446 618877192 399029894 733198829 618258547 791602459 219689685 674045633 384205038 275475318 529019645 408698236 615958807 372142588 812461898 257916131 268844885 636319423 935736245 791015922 690994061 458166539 736679857 562237325 137839851 692943882 994677217 143875487 552173589 836808435 861278762 701036215 572342005 298650024 904076472 255748452 734283194 290736842 146188944 577962703 518770779 833169616 490533200 124315149 176189442 620905771 930465604 477084935 927850363 632379069 973235007 432410118 628010056 959466498 725063179 472654273 953660836 761896092 279846822 207725025 335871942 914060892 496222748 162774043 972155869 453965268 412362911 768211600 167823626 886914721 830376075 973290128 314618770 522663103 983956189 749565099 180422014 365982755 471118501 864478273 777311567 203893916 415039573 970809672 695994487 922478858 547538462 181364583 704046328 530955516 520731823 926856257 336493728 115773489 164784114 130697845 709634766 171610924 679299493 183082138 467546089 966679913 881238481 349381367 819745171 865640498 923983308 800437745 495778019 760829945 355216148 658640722 323616562 482873921 659946327 674893157 471297870 725430854 965959579 779581607 544995747 597361752 724791243 340309657 950384367 711411779 716607338 990141781 602466935 713287887 663540031 868249125 646397556 158753987 517122350 262183467 763436533 805431330 377809679 585090251 507940198 698668712 270532743 696292201 849369165 230580862 996715555 537531836 532880802 203367650 554858549 326544843 600045723 489066532 682794037 352142615 925744467 242095139 384774111 276569324 852760629 378062823 487847208 454640082 188078464 785343433 610222562 991952853 969619038 307286561 355333911 428008344 616601814 272650053 520008877 861774834 118774023 857104697 893316468 873380255 906954445 995015349 354184301 364259723 888031397 928019682 753724828 666045471 113972583 401004482 428272321 116097952 994077710 353804972 940444033 404381736 455613818 872988149 997243200 830216697 455765759 496890573 908475883 495045991 493605796 143482526 767159306 692837721 753149395 621310866 800319681 629538641 186106104 510653462 138638613 388719400 164717820 154770834 286273544 952406535 425566339 722051545 317400879 731917082 420489653 748617041 998372031 462634607 604859471 328405422 889384737 374341694 987333297 367249885 720177245 485766187 955508672 663165389 581605676 380106120 290668447 810881213 899154326 207104490 189387247 759573322 997856608 963119999 526600274 547087757 927702146 982201896 203973694 631947081 170901213 965031322 576627323 531480351 511366885 278558004 797756545 506222742 445397904 485779079 460745189 583877544 667664524 152344854 198036060 347299840 309997244 106992114 599379182 299621937 468647544 727643651 400843677 448218860 199884256 189431819 411725615 420973909 170946697 177759758 986876178 300986165 539361251 947306185 407316698 540002101 104636905 383034400 124700570 349520750 892838845 309070708 378785106 967621364 884384717 590709080 267166709 402652310 236292329 942130228 627329219 868968744 433631015 719163543 327325355 402540250 825338267 243746266 270641311 898510786 281713570 764502889 691308135 995842616 884986261 832348813 653387598 912896442 583318390 168170194 460058424 488310694 596816516 785149101 145923870 918077787 843748632 292391775 253254260 996810682 383324174 461534943 867115361 305628518 263677543 717785776 437365982 244900790 633915448 414474821 518746439 646005804 940898206 399204433 712546601 884987862 505713399 467727965 490894584 690420844 697647452 758086017 299286196 437338537 688281398 655173334 581418785 554579067 483836671 794582522 279487601 384123554 147093127 531697139 521455899 407160632 651554436 280085472 831713263 317156775 873738445 759827662 833928788 571027320 187228333 669025601 386345205 829890307 767310494 935947596 483909502 121244737 553650652 104241858 398522275 802349630 820706626 374277976 653322938 505858071 358667728 378102341 938374643 490149823 549108487 908057960 255019747 799023218 644157201 917337818 686614451 600580564 740554212 120023362 366752826 381409578 549545265 644208782 344009552 758613925 475162646 889858487 534910870 816765778 515447139 551643550 671792950 826740011 644496808 876627217 133048755 472368851 789969870 351203590 784786491 405400841 528418163 511969476 996430260 772728405 449956611 961737279 966509643 259520184 446746015 952258997 736095959 643505969 783311333 861191385 219997572 152810635 850562329 427757719 401621222 979311875 388497552 688801463 219015546 285754812 483872046 586409274 944924323 569454508 624684502 235478471 954211748 837592892 109874370 229517956 297028428 286964749 240938715 489753013 633191428 361671795 987465973 512374185 985878052 524992778 608273289 912528768 906645503 539870348 573402805 528728250 564772815 159910774 789709056 832865258 732066893 221971074 770566194 473274007 394767669 898907460 352611161 243523148 743833900 979499576 958179813 180375334 390614190 274730490 321270125 881037190 736089159 931455311 282205321 504093599 719058001 383668096 273264645 469543506 160942506 593110106 990665327 441356610 567830324 292727363 417864306 142075434 660016264 930156968 785409859 515233800 848913112 561591652 546059031 350851201 745058032 301815351 752289151 410010383 618183217 353795165 835795264 697589084 445766418 239641719 543581982 509161361 706314368 893632923 704383379 331160937 451092603 772771312 624986660 831892414 928571031 802057262 424552213 265220234 672931328 757453585 457149099 964139156 149965603 491396181 670180838 556081930 890184972 945068403 497292161 939512410 581432952 371439508 730215632 350351125 556271553 670346934 746452061 646299566 789396797 329029925 695307209 887645814 108333753 993634943 299446965 188413581 241200872 814255613 552399806 979600123 543034945 768929056 321881065 704372599 420264384 278649153 488875304 139756531 808898988 625304110 312333937 420672110 765498554 505577884 417324525 383854606 861651333 429964218 460642715 197413042 220828629 513109903 679908625 943448587 297083940 505554208 341454017 516657914 239464272 512025908 978084933 296769709 260839045 469792536 156375429 271405873 205178559 513033660 135208772 486498301 226094754 712002862 173520022 886154669 174705783 153689495 108891414 690110951 925350715 105295178 766183767 794887391 319209430 964740733 810226547 805002534 309399609 401403493 733520355 826811999 433684382 565376542 186622809 494266968 918956460 302347125 635930635 784127746 463750818 334919700 698289894 232184003 402540681 775649212 126650757 177039381 940935049 954897379 634978268 554852485 895885104 434498716 198483670 481121348 848829868 687807552 651490379 774476855 549493644 850315789 454754141 756784517 623473763 952537408 527198657 985677298 338749104 585302839 405678796 306040552 882899825 340673508 473587847 206683798 329951365 213321748 859918402 414326150 495428984 664527721 393299735 920270899 751004513 746571081 597210690 286108806 753640848 988628534 505458110 368595779 326991247 701701994 697510422 169886290 935877689 859140809 790907570 856669218 805292618 323449968 160950478 520227359 749135657 129306166 554812306 527906379 932869153 331141820 577959200 345502872 641478640 603730077 635588704 878176409 525432097 134672504 718196137 493206447 470994287 588240413 796954343 251550263 954267848 294150527 869346551 595202569 700200852 232088827 409603335 542369335 531631202 107912932 192590322 229707108 450319099 212843076 931903719 211211302 470770147 656289799 750866858 621434045 545258828 780156797 891720884 971096531 920525580 675825823 269118776 285693780 283464891 392142197 942852171 549133793 297065629 251659397 150760839 576703232 101975020 426406296 346081403 956087136 890610903 556369304 501447716 412997180 602808938 823060304 981011917 314230099 942600795 445819908 158397758 596009763 882525045 719730596 654977292 295850061 411812895 936018755 480697502 689655431 169721251 602930101 697246468 897954762 444290214 645617429 311519878 177283045 793840429 494409182 165386480 456973930 974129172 962527675 429697367 762075185 407477982 246291357 567491668 164508084 990086456 753310052 683175752 286833123 598803670 698215124 386764239 362105990 650965884 398388547 163709137 437218692 414184587 163353178 183959628 523894422 679583749 914719971 197390877 772440008 385191288 747206801 387388856 613627214 408667470 797287566 152920940 752313415 899745708 332818558 588586060 599265327 361180592 479185494 889400098 590693586 476668625 130720017 599874962 593579797 780270000 509511140 846853510 257906164 630358619 369297663 376539544 411898988 803449523 116058977 112065752 156593800 618931287 412947707 208867974 419044839 973453430 304237915 540044495 692784246 171091552 270461591 489618821 411267934 623788153 162182832 293541733 367139732 740499705 872249489 695129371 370668509 136554231 245092966 203502938 389545377 365805005 836903079 771952233 973169614 699343457 164820158 306548495 472441989 193693034 880469269 173941400 229792057 304026683 131085290 773715017 915222359 488065586 495171429 459803927 544020875 978915116 983830914 748532820 682668975 392737264 456431406 987552378 409237975 154015994 393113096 600458450 949041695 741773896 388382181 868578968 263380224 829532114 937324161 503718605 855261950 421188956 140444586 860093709 967060136 731258094 708152896 911861871 960384829 826998570 655279708 621650370 100409454 482079599 883697944 698915994 291922635 957799157 128262974 294166458 207464907 510413584 539673304 985163832 692135128 992682099 664880343 606581302 748387591 403839205 453363068 721844361 185950711 958146763 106623029 337714309 378242419 536866688 217315938 523099399 639472114 379815856 669764702 189165115 770089242 838231930 166904261 422771391 521411087 687313436 940954136 135078493 243651921 641535869 735839526 927051457 393512426 787514154 346421386 773816257 423175401 656475841 566798488 353402980 849599287 833813485 482490108 846886641 667086132 666925942 289151563 865387353 734483212 691501969 342899852 746089386 122203691 402685523 206549517 708620748 475944437 823439903 232487728 764189024 600561059 186192185 575804194 484276096 779022661 598770522 335296950 798906118 937607436 570318379 678543195 522342946 214521784 944661135 709672399 536346268 877776964 596620407 903273042 760215261 372357086 158504111 660503220 797068062 429320752 352353300 540056960 468638078 958412359 659911492 494544823 348246902 712452850 624742510 109748309 532240817 168182667 359923347 797345721 690902687 106930232 340120446 145011857 902340123 766868752 714464679 529592145 879428681 809543846 989495269 757938472 649508007 461005675 613491974 856913951 146235363 235336346 866520305 751397719 330302494 380798583 314595509 470775114 197907943 588693603 914748172 701146706 805893481 843999283 473046918 519353522 135012102 138252508 631992320 584867415 695116126 858157985 259914511 465898583 393622792 912809810 398267655 984003192 815176639 122844250 663296677 763569664 189571141 463487130 324823055 194976324 560821998 992546255 839481700 187738773 354199974 465001450 495852452 182269472 437968656 644698800 779192859 491043112 918363521 384817670 497865253 621974533 559109256 344571179 746487441 471096472 887540709 776632370 405846723 622593053 373630585 983052870 902386932 548818525 792660830 400554655 515186555 764658218 562294485 344277193 509067847 217122155 987384379 479004740 249392282 895563370 867158227 892838646 196943078 731829132 797815877 185347792 270648707 731304585 165661189 313627675 864473984 407353410 484400877 407378570 892872226 659636558 939519782 243817304 433332177 188628322 968679847 212288517 603885585 957190710 431809387 325396940 676467939 528013045 960912623 218034766 130443238 991415775 906621612 830851322 267970817 613141626 418316177 217867244 339436582 150490295 420000169 370676844 826313582 910604167 690231753 908100802 337547713 829527400 381088281 385787248 526775675 130835847 967044687 479838973 826759567 964115843 480192828 467072118 610644961 126231014 129184744 901995066 482064803 232306282 926543946 479249255 155359355 981727677 973395358 666964725 688955254 964091032 941388690 600074557 846551534 924861065 549552049 720358867 580524081 737213500 557927115 195820315 770237164 590193788 500621344 986186386 949657334 811929164 772005865 808829166 568819743 137624641 807641649 868383950 104575170 599909833 683864518 570167898 941768345 805935907 484367968 707885198 655742033 855481176 833807030 972255306 759654451 729465337 237634882 502770075 929039237 710329907 369017000 707598853 695888853 394490126 906835182 609934490 343728140 790424108 298169541 167028974 718955026 301658602 141153065 169158870 117468567 482947635 735103270 121117592 894524404 852521180 934838770 745075577 769871404 188360903 404783210 806111222 481415741 614108068 774302338 656253284 965893476 624796010 401272848 249055876 373926224 262496058 807453282 817875623 588505790 947107496 100039277 758127471 254803663 221760119 329819049 349102223 301148838 415312263 290526546 707685277 770300053 503137118 487132228 963325895 681762943 838541148 268650474 437981233 112022342 478163488 776277343 185856844 334660870 350713174 405127707 284992739 885333629 215959491 515437593 306178694 581702370 682216319 802871318 629067278 156376165 685272149 153642943 462888603 687563111 161540901 918011236 928323998 907368715 261309617 863296041 400817708 475568045 172323033 136760376 805363477 342028350 398775849 527163751 971745917 214161910 148491937 840422238 344024830 698532942 751794027 154016717 558352208 234128317 956330004 336066970 879812068 295272886 859543111 790545657 614292007 190245950 745700750 157675091 177503504 334590116 464722384 320443247 614260335 980852286 622850984 398930544 264851131 132913234 928990163 477093448 181429562 698193304 700854074 489495812 535110480 436013388 238148603 527484368 872913495 485721428 864807471 915109413 194563948 354540493 507196761 201880026 460809991 367134458 162851533 701779884 624772171 221303277 788637643 853887435 546457655 530550284 907273924 781936995 248580944 320400440 431713179 934039830 813583666 930564665 303101359 317447884 491972471 106788881 465263086 267812386 562062296 781439148 490389002 801620707 393291509 904811481 473735894 464440151 530461844 670715826 466744026 136803455 272460055 943395224 181488482 860418580 560045530 483539216 264316617 371672451 184169916 253928207 392216016 128962177 802590288 623887424 632724277 406185647 869146712 233769763 748150011 455050052 872737898 299353851 620649485 247791453 192794061 899822817 289992286 650494156 405833015 851131535 358873524 569086145 193653429 917646949 588080995 890285443 784578382 841883113 390468638 883605443 395731975 911136662 176155621 905916579 658430951 484196706 286966013 896455924 900299307 663910595 724745404 244155669 682216226 221063535 948272347 326590947 679984532 958790726 825604501 655586538 722643814 126904638 412233068 556111194 410378077 530195490 811076406 219810596 349440879 465619144 681385866 956698589 559869344 203689057 446284377 145414106 422001972 506854885 810168647 185039851 134985800 853219891 235705173 376533013 507899007 495464948 763688649 336239948 338827812 235840577 355512634 587433793 290225359 269814489 437858391 418532942 602956960 673634406 537746018 482793091 294879829 102445022 787860877 652107726 901629073 304900774 587520797 183148603 132172133 462391688 580184324 266058538 638055640 523826308 668676031 804485235 468408139 236705510 768547793 980819976 886770677 669907223 754424028 687967822 797498670 396957411 976007204 441233547 150586867 672721327 631300189 205140002 884435634 160242767 697558178 368433589 475685384 279997871 681872941 271338338 442316257 999441314 888426227 423484432 288804770 540502352 302414031 196516038 404642824 165447924 830373138 528625974 226915727 406492819 614083996 224886576 610942092 811806945 368185744 621782701 411226070 260637048 736309893 349089037 663169915 180957418 945618162 828077326 884427893 453281518 452437377 172739134 833116140 933237563 653820973 825151759 111402077 204860883 924788886 789801140 869967123 234363325 877381769 814109004 968527465 800271938 605267085 519932735 677815877 981525798 231229090 792827746 636558533 248884387 442871296 740052850 165889987 373962195 863441564 244343792 171110725 402708694 100339127 366454683 800000940 358266968 980351059 212989692 819408424 694371672 603169110 924106308 680260788 430237284 756692921 591922433 290851042 817821625 420937587 102084040 493583953 987365275 166934351 251947074 632576450 261284752 177754917 733727002 481611752 940336359 830003987 620993835 737968171 175526976 945277309 961354276 764845052 498403619 601652415 899310985 834136821 255732181 366371650 658957795 591763203 468440985 800054568 851307727 116744565 182489022 573918649 926869623 995799327 953130039 278403497 545635316 372543620 732593360 982465778 785196801 292329823 859311977 562104583 614763770 996347616 839040762 456229813 727118717 584265556 785813229 921081034 486138327 358264644 914790936 465807340 224659364 710036824 619474537 333581489 327501284 272945039 984531829 344359258 717593556 495847989 574244146 363752703 606567126 229283082 410298693 222622027 898569449 471229479 438164219 441243266 349190062 657283968 838885406 714507468 685526366 671036112 145213851 472611206 425815120 526390922 937820690 417096799 380550111 754192892 744148709 110154250 182371168 178072555 605406189 284714256 638531085 288758176 567172369 158444448 589910307 761075586 499357830 512556668 403491270 829997682 652538018 506247079 914735454 309550653 908706048 307228900 895755792 424139262 220452015 292722425 367873066 143347521 363097158 836024913 234999509 654686390 115821773 823840590 354605715 434716513 688748547 308298718 260113166 170195552 174802589 344920710 426413962 450083003 695816169 182810489 612467598 488740141 305954889 747573472 423324205 465665890 629634313 234189182 344945570 251283390 109539414 885881435 785517046 896772958 108292293 721997789 376124010 519443113 248270334 724441748 382612781 195308123 618543444 900126402 808161701 664501937 141102721 890628586 163028089 963432661 464394027 565575180 691621060 995751097 945801779 932411113 459244199 899233126 583682124 578826172 136950262 843523172 136595481 235587739 362826437 608243521 395118943 961423305 374782601 771943729 817100452 493132084 919784165 313496062 704477255 594196148 984882775 983953017 269207874 330112260 420298212 681225930 804779807 499416089 196678069 313731071 281750480 730481465 671288829 546756002 495842077 432941802 644495271 314875504 783331274 580369962 579354303 748125275 201991072 214344040 540429519 130969075 703542314 482617848 907417168 922462079 731012801 757165940 728893537 263731137 873568759 293798939 261601832 716535161 916396652 645737307 385191339 415119346 514843766 907363957 511216002 264383391 395268490 795209652 883283585 829267901 649823555 889530332 549656654 132448451 549609312 891407097 641962448 349410455 672845179 541623976 612487538 178509424 105136445 441678313 997156327 826243156 470612787 154789794 266843747 341411430 777416054 207399993 792860102 500885643 427719399 181596880 828267711 780123506 634769764 107863009 547051663 947842152 545288126 729425026 547050232 899077173 924527997 319540466 574466377 814971490 104453826 816647929 883848886 365367728 941110559 871935776 943933834 559907711 650297080 821214374 944331854 200368858 890219408 606505186 820517023 746638586 906662702 797522320 200218644 373374795 422242067 486224420 872336990 745487902 826345387 425313089 703606340 151779586 455401527 124027620 900918865 536273644 461163795 634982262 543508686 370732196 747756046 865205953 837225946 257483810 671774839 150447614 568040946 525878052 529766464 523492356 672088109 495428107 470989174 832409369 741890817 564846195 268456593 266661725 460813520 131780210 738569639 741909180 468411358 286796727 954404050 477084907 436032874 824907150 399893239 427425022 748309299 495573759 390319463 407780472 654823893 735568661 351625877 764726440 127472001 491385859 859586873 920665495 217995465 815121892 352080878 188980999 604005078 424704883 912634815 926401596 821927548 990021643 769126552 460779503 478844211 425322716 430705631 512886903 625945519 687018127 808641066 897307255 169514538 423744207 920394904 677206352 888680825 129111773 906818216 308804415 943959417 153596370 994520527 860811431 942356903 955153095 972746742 953412750 657258434 230299423 497023297 760955588 450665004 276048150 673573734 468681785 952209120 113707515 615968090 723062207 496006205 272785569 337461679 165711923 611851338 885543070 938993662 656228359 276643800 641934775 823534013 833371240 511290596 481807028 474446577 361271563 976918673 996109557 158079207 282001158 285416610 812013660 870337267 574840488 491520720 751035891 363377756 387189650 331400628 514849733 502258479 519390855 371175945 643947992 983848850 811031399 500129876 955939606 356634947 987217498 583939027 917983329 199404934 105035346 913116260 747484862 126996358 736997502 351009585 601099416 387650149 654479148 863532942 481420352 990253492 986168771 210030461 733111376 169944541 535519652 775810128 166513691 624905561 123441683 200131854 645788936 597344357 738623680 684667017 557774613 979300900 630304684 329521733 711628379 125058515 230830782 737203932 699722699 220003867 281787185 990971030 419220219 223843326 438652263 675478247 291506961 172220278 471625663 784281415 635917230 807699075 914035551 998028530 434738756 566287399 816926132 879219271 318854926 613769046 763009248 674824835 962260615 356183688 211950797 226850843 237961510 520217761 803877665 644100545 300181831 724191253 787280044 499581101 624481434 881426626 641713201 247591570 747452964 447759046 743895214 624116284 474102230 774547310 451151486 428763516 359812794 956163644 506898292 777659321 141847788 674957026 411176852 182417530 466571228 115940184 909069632 132271052 182254797 889258237 605380544 935543175 356285717 988127822 890067230 356210856 828612741 335027436 583086737 858799668 112499418 777596471 705599714 391736963 516635801 391693697 901584985 722242904 399167186 666123938 445463572 187490307 790637841 852893881 357584623 790927806 996719038 690854912 713144952 873443884 185934018 123935444 606097547 215433905 400730786 540827789 171758495 523789669 717232032 547994336 636781902 548754799 849371428 727441867 235588612 603432826 507745575 980518941 973478700 164425414 948536154 694472675 204317929 672835755 998632019 215570971 578618678 889574599 365740359 717040030 837139314 322167076 737010735 174112096 979229880 210955335 174702452 681403153 530053414 857923838 360375507 974390869 548805061 205068865 702563549 483774355 322397711 619162419 897446025 734871964 946058016 158722097 512769824 501288476 593253974 728708653 631988253 553878155 432861172 887097606 211075842 557395720 158754053 831668505 478564022 719463511 269693869 122654301 453882859 658454122 699387985 713413048 912610990 996065907 102020596 295789024 179996491 321932515 133062267 740451598 448857803 421631314 674244274 498529251 747950117 268971132 940558635 534962812 633782414 861353668 785003256 836208488 820181303 778226029 497868081 247032208 139883112 904903868 778715577 339421610 790579499 625219255 756508579 389046829 122742298 996307917 100613225 482343745 253155173 107529659 240717757 568953246 526097017 861161190 855536394 642058700 919383880 516721349 292491495 145742249 253479411 587066105 128752480 570161252 388488043 657827354 570966362 278170165 541019487 934800126 457916979 594711538 492060893 913107469 333331321 994585590 905305697 537625881 789205414 371700375 943051895 999046206 965594408 581460061 330687755 346424283 865269244 392281105 903008210 315344423 126633232 783666784 415437956 735944030 707614404 934613852 537980132 532082308 515973427 154816464 837924571 548732004 744686559 800926156 602220647 582641185 524095425 733540542 155279547 889283458 286920540 212633676 747052462 903501692 380486271 305141788 558429386 424640370 457997994 743039896 444209313 440511756 591320845 391352810 830628512 706110942 891258431 690072675 789149785 532518230 455921545 759963646 376225852 528426341 622139595 115772317 737273782 369447110 678064308 784149801 570733572 754303924 527080045 305720354 626795584 859642542 559056667 847989861 431978933 982273255 805034674 977645512 958402104 945302008 901897113 178725119 886094617 939990858 466552062 604595540 301706324 954032731 587729549 450730976 403790640 249932924 383205106 619939507 408131344 806483037 946214365 791398005 773773766 219889689 500129450 612704883 596658688 757658884 453865512 751169283 301810191 975536547 734614299 817644353 189122829 444484588 309615847 898875499 297658738 412419262 166155182 765198532 504169554 905672645 946696736 401139976 471797410 382017960 681623790 278873006 400288054 680166090 641738976 516970433 213410233 196394016 506155439 438199134 662830129 673425639 798931494 833835165 389310417 973118092 659393443 325719510 927536948 275792840 344809750 773342353 604865194 189159083 262685650 778246738 189311768 386146804 194832793 612091552 385283040 978252172 177483518 649168102 488786524 525435143 198803551 682148096 851201079 268943087 412183773 610054505 261375857 899110484 190037596 613664335 655641831 829325094 620446510 435055107 784903642 297027462 250494636 245083952 733025190 702568541 907827907 990200262 489117565 371457972 587729393 584786663 131755387 229284160 199807224 132134565 540613423 527999166 815950564 813832212 382771172 293768373 131761275 755579954 263607192 576311870 795080497 196661476 433847667 445459487 385294297 694876380 312909422 303138375 847668984 241364702 815978314 284504681 775623089 826786732 794186845 291895508 663239513 988440941 163461300 209185242 135104585 505426460 623904750 768246821 463701776 617984953 686226236 210670101 883079470 469094186 712999798 464550972 838206240 868597556 655173826 269229668 794654778 812633961 105126342 993858131 744857678 397258369 351624963 717653415 932699105 103233008 526416425 721668160 329682416 974415910 410928499 243646653 582272173 952546147 840887658 665757342 957433298 661808098 988239753 783540933 426670875 987417464 322397399 673306646 973029315 894531978 540464355 653847668 714728391 909581938 548367569 140384632 372766415 959998581 579321398 890465243 235341159 910732920 687873062 116738121 878583466 209807719 484261358 743504453 883684998 716982610 999855913 916176567 733578997 524298423 392308781 660124657 787101129 209751725 193078115 276250639 165565775 870715577 328761291 567578371 344790228 259508821 614905912 153840268 374520339 344679152 514832448 988774389 693962880 432537398 843889884 282698972 575534118 129185008 421884317 234154962 234452880 982491443 703643057 704805327 477139122 194250717 271583803 959036809 709693051 119292494 693783562 720774037 356938006 231423670 138154496 208922712 229939880 746593800 157921214 265473365 252662055 223855864 969612247 330675762 516296948 717979120 804513346 940949258 795063423 193790063 198826595 293009309 127407568 790003358 341279824 957371055 100638234 290644356 789436807 704332389 868600534 602283286 629807498 867036615 223521977 965280691 231511812 182517324 326431109 211548095 482861807 829996882 893516160 413470470 316778918 405339822 464079002 767917499 508802224 820630900 783956796 465685723 505357078 743231010 115063875 283401447 821833733 421419063 883600599 835832171 564273574 622619325 261139259 275109106 941330043 669198390 909006874 121644348 745231288 686399678 124137708 373793363 697525472 503134841 752170730 674518742 648001959 391643717 110610160 380944753 704695176 118146062 289193446 133306960 732760515 701605333 370153813 555522883 893607725 277648214 784082055 560003167 659932953 979527558 144200104 256055631 581845503 445490951 480612702 676952572 255697569 851476208 176626780 241548368 890354958 782091343 152404545 524110594 840579989 460177804 231566814 672857303 379806672 137942737 536712676 901055312 710463550 108807895 288675128 510236852 245782664 455705434 604134680 384087419 384248204 872992347 899863504 741626733 437453148 727251907 687937483 465544987 766946731 639257135 815039082 743346566 661213832 861064799 170565514 950711723 844596441 884466391 162912558 941091313 675420456 860617133 683411785 122260856 914740906 222540971 231397668 320789875 756709157 251379806 478830140 373065974 408816793 730564754 436511836 555795130 715699858 539510527 700623420 210708833 579877182 597947247 279364856 537297046 899609944 837214219 841633667 848887379 467849959 722494020 740133710 994331568 279301990 565048326 531967059 433344786 852338338 868758644 415643941 235698218 277697405 331129125 335965405 796367219 631606554 296459683 984335270 853861151 674210082 184425425 316328609 229134341 477159979 666039156 385827247 365110645 739154916 665724558 693875558 430237530 331988112 415106281 336469288 569552295 272642688 757342044 458771193 415398248 366801142 762721176 699534322 629782307 803817551 947372623 953964640 728848859 412549834 840134342 711192871 805452442 533965797 677401549 720524904 779436459 490548376 157874091 629441774 520273489 769913501 627889013 225913570 177545234 630273395 440371698 409080615 487714797 406948517 702304505 342372511 773012552 535715339 147023399 893072730 312714165 624317299 925164876 146121715 528293256 433871465 273981421 148664096 994829915 846995577 613428880 784054800 904216876 495826123 347830561 298318142 851673956 102102767 825233480 280062598 318105158 809329375 624048809 499253183 380047967 358394607 539189429 497924995 203168911 803402274 333982476 526467977 606041102 643444571 851499273 612266830 124323138 906212894 176179959 602527806 412849818 184939897 195412204 965092334 178136856 906483114 740338128 726197406 469006033 574234475 752282160 730667322 320511302 270721175 851685531 482119061 445647284 283757304 559668816 507628353 914779216 576957250 509163556 718302754 536984422 528586940 326780385 812494722 816853499 926582466 915798917 822628224 430903576 651685189 289718160 699389066 963597490 860975952 627799455 322300795 100276180 767967070 216294455 934930372 750132881 947596858 949993058 854038838 632488380 914304217 554225100 706330864 833630454 188414147 408270268 763536922 823250331 286803481 217596426 508039629 433231663 448901194 494675801 817184102 111486166 987376666 637029199 956491705 508036542 383730174 448537819 937385619 271971081 915045500 428958851 328283164 962071893 993170625 799770948 415651621 989167599 253988780 837417161 799526343 934269097 834598531 303194572 347796600 489714009 880866594 884230639 228768238 272010999 947335155 795306116 395966617 473595073 260195305 840464568 990452660 175925067 525581911 933451178 392069558 894105729 402913520 100616862 520159047 715928441 343369140 551307428 812760049 411412838 769033840 872140786 752509797 995820997 200510499 587492765 138553434 121732209 843023663 661351810 547005418 813970879 524447900 833613113 513225394 345938016 578058418 155477708 840615804 461234443 191452502 723725444 199870387 780348081 882756579 634235112 621084910 885757787 649882887 912966660 173637018 413228713 742411217 145293834 201340829 333050037 329822943 824030391 995860874 506364130 531649951 819175234 700459014 515912704 819100996 638657517 195042038 127326625 380845517 410551183 962922430 505814750 175308564 852690088 486191086 902798829 279420588 873886009 588154673 836153392 607932916 913085977 579380715 952450835 125342329 396720006 471469316 539734936 238925206 607572904 293003464 594923709 111360693 753492406 277313565 836805424 976622959 402231307 261676435 756506825 126863284 637804627 913320694 749091624 502208497 274799379 595912027 578366993 278121426 192960880 566016469 731001417 707174850 325316646 170199361 313158945 458128189 885157985 415863200 505455494 593656607 146179634 398938224 101561142 675161258 860827046 659635335 731930963 892764485 162120241 435515685 931841947 257153379 838257822 389863222 252303069 215213647 383165849 598381034 420517835 777379892 338344176 178089403 263820487 215651161 266675277 571574939 926171062 503797369 561753354 727398904 746526296 790399335 655570096 307108001 261608193 605154642 819879279 541039953 831734511 451293441 120675667 351076788 352526249 882783130 874455174 543657781 972534131 158899057 140819722 483360757 398107224 926130348 177916038 259064708 187849591 117498396 750703153 462941292 879751504 134810119 286783721 396770561 961941560 788997494 202534475 698478243 845984071 424538484 223665465 439551806 330211007 582321993 691224067 657097146 533584726 231677534 129870351 291494864 693987257 130209934 486275595 135849912 597921201 419295035 457169608 292564572 418092949 326369480 139020703 789952273 274230929 559772261 333815779 393858445 105019404 724495142 366349170 544361090 738945342 808711704 869924737 858986663 757520162 703731748 163557259 345565015 723026148 463828012 789563985 616383548 650065880 934054337 351595113 236237644 336691437 997662903 615691618 706889809 284293260 132856953 958908476 145503467 614484887 848444744 272304531 659764102 212182305 121027563 617066841 542387241 202890956 967916663 299771434 751035080 602875669 988840060 994910095 546399620 934318679 821577720 326752698 294451478 933688213 852389126 422964038 980491196 417022703 402376527 699965217 991722129 743768228 120991766 606291761 319606979 278127451 729463853 526007086 349020171 611831164 621035121 922675211 437881488 304161051 962929616 868419700 731378090 549553585 643879867 166210964 864268829 812766941 427830817 232591342 145503035 829885138 643250292 880509776 196610960 725413265 877188625 807391792 579499913 415455526 748994116 266497537 317642964 909514305 471913114 303253941 550718705 897317088 674717219 272753567 906331520 118175705 380015141 203141026 115305007 753590230 404282851 736905317 440318494 137342483 312277311 566786830 259946761 293916901 979570599 828233303 658582887 371182869 424052040 285897027 441640249 761727351 709963548 363736038 251321815 389138928 793081492 580975216 521758640 286591433 620398966 266603788 688381685 539686730 229140784 583328030 904835425 381545077 466892335 388862556 954864240 502607868 181307425 970281388 713298830 444712400 204018596 281875589 243920917 671296373 244534857 184564825 510148944 708063491 195952280 349283755 544492591 570651868 759439893 532217420 121969172 157947772 668226195 166753693 236623941 113905684 666226714 824064438 260391705 176378725 876907254 519183036 915110070 501519371 241159956 269746294 480290543 196865774 199636535 850423795 565095212 235411827 121022827 637319512 732056360 940789732 907180528 381233322 744684929 578496957 507219292 514852992 993100510 451934462 515733655 693744797 221875265 978575944 312693756 305313391 213433922 677739980 942242409 749225402 510544920 581361795 192972757 519358317 990459204 173480289 506274444 966993878 887915980 125091679 530593253 982160948 374726752 174422986 404742353 769615703 573108788 226379138 733671232 852976964 601634966 755943790 435048218 117142816 396690744 791547902 273029747 188160857 937406121 685565629 721675000 468566393 142923796 709174856 135074028 198259883 843081323 897454374 626905891 516456899 973753351 629611157 875818269 186033622 989533787 607147181 198963923 524374428 509031967 433928454 452148667 434856192 693816737 168096447 428413959 968554900 666339969 283742180 770261419 344730167 319660688 534247420 600046275 830033126 472325137 407108269 350999238 532653585 460385818 203122939 214592048 239955525 545315934 610420746 235868534 550344048 276558812 458311536 909896593 533061727 371976946 189259687 244207860 266884291 405512227 194695234 496367601 517990895 318194230 758806774 733252436 977080455 170011267 813969322 940730211 152298158 276601968 796514742 145531473 799021287 546301698 190413098 326469514 781934934 759793170 165265144 366294541 242486575 736998405 151824505 692805470 341763525 878557184 171494786 167017171 853678215 816414093 212108674 304908401 404256900 333036638 870517569 448897429 192963953 653121692 815781312 719370931 344659139 594784244 559294328 376909675 489611648 375725947 755413762 818501604 563637345 705655870 629729042 262950241 979328595 907594327 591258710 813034400 319975649 528980431 424213651 153131006 216732173 872721511 593694749 146684661 157436638 553984756 603030888 973757849 325073839 357900288 293270360 479105907 661961803 112419780 509905479 964152638 153687338 512560648 778657252 518017613 869668354 879728209 873830515 965604498 793139592 520074626 221911479 379281756 499266298 383190133 487216248 633822466 506711320 362300777 693816193 641114385 886645651 222238031 282786730 542541010 116418049 486074338 122382956 865783274 508522555 160785283 363643469 151087511 514165373 547828051 973541543 541349460 586988740 918014667 928004122 644750072 158513992 121588541 555887472 338568824 213814430 134648312 697137789 322556607 666296972 360949729 694069336 626970599 296753727 862999915 906056556 978533390 472240553 634027482 475439694 711524549 915083662 631419952 801340547 664826614 952257346 452210430 188130605 569125471 444185573 545707120 223508776 722690882 573048942 379890873 945848654 717679650 836317727 945389567 757194325 732841486 913387121 598695484 867994295 235759075 771832632 645285765 523305290 867953779 160842701 541838742 776373980 219542807 164446056 472859343 298862583 137910246 482268700 998241296 938505958 974321832 341224323 766924388 146328896 349083011 426906504 338279608 716232691 270457361 526595532 227868518 398262491 899407565 136138751 947146259 378456620 215702461 346135255 274457069 159428208 969660343 248028682 268086369 937893643 208169958 803725553 989344610 191781799 212948236 515282411 229944228 696195117 844851610 840948420 853778437 874450938 518092328 975327386 179692904 233172782 288222044 823028171 349091334 311018455 529708319 525769205 706269339 781039772 782609484 401915235 448898002 327106640 218497467 392167931 137783796 705451669 917008318 950581052 466272714 393283468 623253899 222368304 166373160 775026212 321332221 162077867 973820061 489878849 568472293 734559234 810363065 792699863 466471662 583372666 627910694 148481886 363083122 837472608 167781919 574231028 384192810 734170846 206429538 252903282 390911004 426312649 491194218 588648867 941618700 133765644 745598863 130920573 241676888 370348680 177109640 918583867 295613969 843965878 444979193 268338034 552573199 626829133 410672126 525065672 802479995 524250944 529917619 288423217 966072336 375172335 190661095 965584147 345932975 767869216 586046151 413126421 915982844 237336360 792984777 181144122 959874877 947825175 918335948 928465840 464789971 391941704 579567845 814128717 491985167 136044673 315239031 545071219 175955404 978272754 864172274 203624174 773265537 396091451 349943093 603333680 319121413 670290084 419545091 827287387 195384479 878498905 161509997 274197649 378275974 395346661 983418821 152898466 620486953 369588865 150356123 469032484 293021198 904904376 442033074 497529105 733503568 233211585 640184359 628979715 655606928 647184707 245671242 380453949 630434922 817934052 708097582 375914169 106414399 342437859 465348031 464703849 652707354 865102811 168208049 630893773 988158498 248747625 278170908 489113092 342236049 927239771 830000140 249008185 140829945 231023103 225534909 473415862 161184963 272585770 275396116 485895100 892031129 983964216 869657331 335573341 987114170 440028033 158738241 724477132 709611590 442132364 727868146 936638481 747562865 326639437 930189048 322654049 522255329 844690205 577256549 381647701 320350317 502810353 577101911 767165111 438593935 900884788 374065773 432080777 230602932 221975904 606327656 235244675 314743851 993491360 272903200 540104072 172458377 175084192 417807766 162249910 555420501 110760746 302768642 884342981 511546445 349387691 280785366 310603862 440690606 564845199 213694392 163751538 398952069 928040483 277079111 544467982 280768756 327124123 344110474 177418605 990366870 673605041 662831000 860864370 302033175 331127435 913290038 963223877 270910913 105862451 654747240 351071528 306955861 320917311 639486936 259570025 333166355 902236425 130360528 415572188 301128668 254816001 255125064 772765384 123975352 323304540 938804931 787194842 243976082 808468441 895591008 742999817 266278636 621687167 847409081 894844261 462411752 310834474 171439123 497723467 522079538 121107249 278425621 326193303 695109380 198385787 222603082 355856369 882751068 401303374 126466504 818322594 272607766 339331844 552024472 955382566 126881052 991091737 198053526 384336089 535612080 107192005 975275990 123942242 747220985 427435706 233163969 527992081 506427148 906934543 235917766 739417941 347929331 443992220 128226878 827090279 302876176 738891885 475492278 372254924 401176990 568748560 705290545 975538501 363853446 552763614 304443076 750553849 105016205 346868640 971164800 101637726 435619269 383805996 100791391 637551967 817363100 407154382 489671435 265760681 491261205 770016483 216937138 667059967 153861379 868504488 444853903 531977861 321960159 330811798 787813398 482224504 575928656 828737169 444878413 409163048 181680410 129225608 229623791 464856972 192985494 505525945 799100910 394547424 384907712 912119448 861406301 745855793 836988884 133300409 132081982 913099098 807987914 575613611 507497733 598766349 589277918 850659526 619629456 657601266 695214761 552143327 641293183 933793420 353886931 895822460 991767074 249925582 741552738 576484373 586855582 386046678 111988577 256055474 380630822 822039195 201613931 963153252 822623369 535269903 564287678 626405511 362542431 133134532 303386906 783126648 438174598 733248941 678031555 384044054 501255278 241047388 437193636 991689861 342973715 303323670 881711349 384005926 530409115 294107580 931744696 888469483 586600210 830506189 986934862 875915006 778403343 173078191 934265703 487627166 844440390 429793140 322187491 100330413 701821147 538580655 873713946 653856269 190213896 687213429 193739135 858456970 368796674 880621646 308788498 387917173 572330005 937138766 809289130 268377269 235894200 297845121 686671145 240937232 164946683 588196047 546933641 479339176 438513436 271205696 231499407 773884546 185491854 552124222 694156450 522465094 258270840 852375809 880378640 175046473 898367032 783508651 882166402 909839800 844676894 495151327 507511500 149311692 851747274 129348386 309260451 983759739 760372978 168397536 756529956 104008854 880671743 235226034 434621639 764655078 387335570 779249059 168858727 108347153 581775095 135652465 881796337 312010012 933841371 454523164 442512370 990737071 122899816 331164733 142300797 262716442 404792036 595507579 973953351 832395899 145966473 753760202 383122495 885524379 489985512 923570327 151539225 240112395 704864486 611754780 955976671 836980726 258024104 182573297 754566685 640373966 145032894 432870234 486648980 414925075 728343562 321395537 989077530 981992571 284623703 597995386 330085191 767680523 767544445 968346067 111912541 169873811 206949146 820425995 206367148 672672683 569368163 493076650 373174753 176985499 547456881 502364571 222119620 171885961 390477981 874485927 455598100 182251414 105801775 363795174 398434934 626648192 381893518 180739598 385184508 593071362 595396096 466675060 219808739 815118778 660143131 739841736 792098946 224585919 524098916 972197593 594251322 292088487 678685421 218194485 307675912 396754428 546022665 669015991 173138836 291926193 365152014 445624327 937101202 998112671 495870766 889503109 676034150 518995336 343121767 861772339 343490377 802791741 962927894 145646685 475643508 284764676 909538529 303620784 500979403 289359770 571504028 710727347 690372299 144521645 305808849 310588258 761168134 808111117 914816367 821384742 572696376 232204661 193405056 385284435 205147602 511238790 430488284 596604956 326861787 343851330 383699507 247153427 879985883 933225280 735655697 820193551 417242319 315230499 309548646 207380777 906076374 687461836 657709956 702740073 593656285 231856106 836545686 337970938 755446974 786168174 479315488 306700598 222513211 710770400 299737013 351026672 956291388 274426552 998231299 112243850 643280750 329424771 991361892 380819151 255562955 356363879 387346460 523811606 870041467 929500481 459842713 669554636 606814381 160104493 101678291 484600649 281436482 874783031 818276891 947247820 623188330 155527077 297718294 234440463 282488419 142606228 642305840 209916901 924526074 469125544 545867241 161829128 366430472 751464362 115079426 906336549 698152137 949686906 183724548 535024617 912207635 338965607 833793567 570237239 602473689 277312712 140296828 494674718 884911993 816254383 381584561 962621716 695246480 720793995 821475261 137450961 816682690 901485826 959209347 438777507 773859880 614964604 332168479 938667013 886584770 831792035 941780569 551574657 581896727 504352765 449977410 615007400 985405171 109250501 722566064 443788928 803878135 100993718 866731810 895272602 306744292 161565076 939944668 707534180 779940444 974085286 884212934 308231437 232365795 251814365 388553311 347198873 265475583 321970512 857441863 872585739 172954229 887010764 181435389 399533090 779459037 540154973 566475822 951319374 557666857 711920276 769597243 633707423 482043707 669115618 838763739 459266733 265970484 554364838 794676948 614038678 802679967 586007888 511489391 128335772 177951199 573632605 225624429 983227435 321589440 260558996 377708270 503396389 381731783 841409578 418964032 877696591 542773924 623330257 582022835 715309236 130231545 872831604 430608583 504635928 180969439 240924415 201592602 984724669 460866718 676029778 549763201 393588998 241060567 164317633 523713169 211966287 985174877 646031801 408455692 164486350 333321600 916131106 269910011 325933868 881211797 181529808 488905561 789328177 604202232 953596563 877376914 117815280 317513902 339763432 297993321 181311200 715133174 166373910 379873005 688460589 181763827 415815828 110561917 934346154 500544199 594123650 348553746 734272489 376269620 906660521 966036993 201716202 288500339 976817366 725610136 785173100 222705323 912785091 209850602 763665090 314644973 876202213 313801900 244537886 306646811 399746069 744106565 169534004 840019941 623233526 406754655 952067125 726238690 869127245 995971549 790617726 383680205 846945830 163019066 357845992 508144702 489773119 801225475 752781013 812483246 595484548 833952984 857701519 741598712 933809047 831192137 973316366 495472751 436389979 546191010 900471861 100221310 390883210 391495366 464848866 757028107 984938811 448114599 161210122 761054398 890194238 191401863 422804122 856446790 748837285 834959221 426516549 460532418 370610994 296693618 144629554 851393310 926703844 799047146 967791827 310416219 876874091 997028161 643271908 324688831 342599056 145627528 116185735 216162725 454183755 108417291 738634970 853352618 475175080 804433318 595474952 380090455 839942326 296892412 174771655 436499739 396752723 191133231 914355481 399572351 798445789 170298362 860252141 288879630 164320325 990352071 527787091 270900598 906576935 945240414 657508402 947771176 993011071 346634699 996937427 491312000 419017732 871382753 897938727 203759794 493842230 938857110 528879504 656943772 439118856 915861234 325865061 117628208 997677208 777641010 787274605 261651435 503353999 704712836 113346702 131731186 419508514 279842461 997987982 606480310 709104577 794282394 657583567 200688489 876735530 182556353 680904631 802635222 904548965 995176307 974319186 872165123 240239568 933430410 372048433 253634836 247084847 197364876 932225899 231637343 893857384 538881289 749374647 939496745 942778911 886073336 263991933 206434652 672713731 559067288 531621684 492901551 493674326 627886189 641355361 172648731 813974061 633156200 194059426 754881103 235836145 842971561 670860666 145505673 766571852 529501780 618469424 505782644 840930780 910852052 236919377 273629788 954635023 924103679 133537859 683491359 181617139 263879366 864220178 596362442 858641738 361143987 425866275 558728697 837985315 950451684 908970947 890754853 353276219 419287895 613081980 653741612 402626148 898714481 721924985 350864903 368937018 813426250 437820251 223900480 157936407 797009174 641897901 735171954 207536675 820246497 572213741 193526102 882595044 902460555 624843390 163144665 829468059 638758370 392055242 603402391 104729209 965196159 897640585 715704077 557823829 958281557 543918793 209810138 348290701 562866405 354159151 515711174 448242617 210851198 961006815 484052451 536182120 199076363 990209837 919859515 402565986 222434140 890389341 354818134 803731592 654772260 493223129 784583406 394084353 924464265 857755176 933302670 378178872 395040764 467062547 987285036 831403142 804357101 590832180 769102767 742614770 484076788 595848445 495437379 326706484 539844762 736260381 985711618 889205859 950922804 280979241 254451475 699102042 195109808 788718589 148413619 519736739 156501835 907653411 964856193 763078263 935049530 594430435 574424955 413649837 661109523 202897689 380541605 572492076 812873619 477597869 204573347 444743954 516144448 403421381 898021093 698358352 193214942 858366942 417602382 723828619 110640926 690396411 431500575 502650450 594107145 839247117 286557431 235398154 615788097 969371762 161915971 491487965 336519002 205525769 921961909 267853698 693200991 592855177 367570738 125844814 866847148 738309340 650941239 605442889 590024036 220026812 755656024 887803046 625287581 685229013 834586394 521323974 544791631 841331156 710072537 234365377 214164733 664235110 640671630 157378744 649590101 189531682 943437847 892383209 275148578 228141722 161143479 720441539 371057437 873560084 449248983 805933897 935341611 985072349 779905698 499020671 888263097 641197498 851789848 521579167 148220525 613215094 403302041 547079517 607741733 386339879 897158240 286728902 505238799 952838690 420539646 185471688 667925011 505028178 132071690 351701808 831676517 188642809 893933414 171084573 801885744 828393964 286008336 315960878 829079772 201464298 662891683 191463357 809974977 742782060 810608295 873026715 548628458 518158784 827897546 781089902 952974085 726502877 892861620 282658228 628503733 462441286 200283907 365370201 540505189 359972949 759809498 475535117 793821740 265074821 975793147 561366977 722467983 751738771 245863452 272124150 579790738 998683450 390455554 469704370 277472985 285390320 246105188 682116128 831192294 629128843 396496172 315552010 460573413 510732091 316102651 353217243 382757638 562399922 553081369 220355784 510822916 277328608 546188766 719757872 827474627 310675397 608252421 969112018 489502244 210063949 175898054 216771167 529847321 167122594 233828322 404275396 750467330 775276029 749288335 483593763 250354695 355909578 696038191 800805525 939197259 234826983 158291272 802958992 590691168 323409805 241363793 366738685 168169591 310913854 385233783 929903270 770171876 984892515 271366706 368357845 434041158 319689077 327406791 285305618 585723754 546413844 542289145 219287351 883475249 845896850 789954330 877586910 332650951 787108724 844751022 208524859 474042046 333748727 152046545 891566875 734532767 723643974 934156965 463021959 827694043 338371084 674434986 549037967 109697687 362900000 664059367 460813953 159143616 555543027 590151838 558121422 280468666 254593272 598473322 593863052 508995973 854851774 282561062 391121506 863459510 320813795 489238047 847391420 856831573 118005380 332657819 866523702 169858732 388893866 229478073 118031029 316694139 465122667 580733689 749195755 846913481 471299331 500424906 263378190 687002401 820063746 228772730 168974128 372529235 737189141 770002514 290232488 221286963 608080457 547668785 471989334 933293836 490994874 104751650 840181101 342269108 201504442 230388036 390972477 786850895 557621564 901045453 774104152 605074241 595206872 597042673 365618651 698320064 452690169 712940811 587265283 297683296 682126240 891851988 508866021 670994347 130512439 312464798 403635854 798320638 460253952 551922847 349440007 486247511 630635401 874806222 486831268 754719074 901085050 126175950 158909650 977188279 472253187 886649566 314118904 386254700 156190708 952422224 785828578 105106947 695890559 620852738 364305620 681634823 530871659 480100588 932039833 590604271 685509512 633487992 650461923 363052092 687499269 991526957 676518526 453089318 157147053 911654092 327533199 459829325 137727087 706709629 700160548 392550269 881837774 337140932 209381634 438551803 123508906 347644157 535919041 215933079 604813936 157724180 697357421 994351212 291749926 141051701 244416318 498748676 300828905 906511360 928288556 451495930 116406964 476794052 693888613 342347690 624609405 292460885 149890883 125469558 560798036 186002768 499879091 631711167 585291779 640478963 173572347 198022701 328654620 866570421 749047081 897079221 562815221 755844990 928868043 433319439 350878810 562481770 379741122 933246491 490166508 237236617 931462812 119360422 257220266 121478010 856623248 146241407 881643568 337142110 449457926 547987159 550087808 669430552 871326139 405655455 903789647 185468622 558683046 256276870 397136636 327164645 342385770 118360037 115463398 326009492 613794664 923227856 195900691 977197084 375956084 117146813 703964941 296804241 474387966 154692480 611187303 414881410 956186944 562032356 734542997 776735609 566266879 761615963 797416245 690753493 872237848 335464004 254653453 412874160 476388681 933670444 484588130 495625261 260103221 289687198 360876877 289597075 197405288 563919530 472538740 988175647 939002495 295536545 269316945 767188422 600491528 241872465 910684297 663138342 667007719 744076325 783015451 795560292 941059672 406196331 889263346 669596055 450915943 462795774 547803955 561402620 320773054 623237777 535204119 569594152 551041317 758526785 525185166 509225772 472375063 771409563 211081792 879589018 926503301 822800074 249271427 213631468 189965232 518450471 970759105 892720990 332781514 181361288 525199479 868943449 205796326 503633142 922879499 308558225 632749235 748976583 977403381 285445348 731540833 944957504 828741353 805010215 870607319 485244166 296579224 294744085 540663434 843214749 413962502 982654732 335250006 348274090 903593917 466093448 129673949 984884402 165309095 435913745 471956776 996476603 712810986 400795666 140988455 478320637 118385725 950245245 484057031 104409078 426892002 884383984 612060137 838054960 460289165 113689908 969343748 328594621 592287113 228125635 444621199 470377196 551597075 150980297 603114357 639561960 300500031 617199532 841752748 120665698 592619752 926155738 133016893 494058094 850678115 462441203 492197246 572759018 498075558 236495195 536316797 386935281 390477774 323463312 619738956 916847633 798859308 842131917 962622883 344652374 619411904 493898292 523485547 900039477 670543144 268678134 613911556 131335561 211442348 129302075 297330278 959931518 799115121 376957711 172899876 576057948 903838919 964695635 644366445 185455101 871727726 686642632 798755264 582399365 367281764 240211908 679062456 378594606 870288144 395463796 464959915 875055730 363141231 711349717 243284559 485451716 143596235 503201049 304793547 880093096 255794634 464203602 657945775 529722144 322487385 459015072 234689822 149102400 914928891 538581916 207774688 199259355 913629837 185839351 578745929 681676800 303030687 394408178 422269049 861997033 575115931 110011374 341854806 425356384 560028303 268886148 474288807 278815058 975193128 829757862 118784296 909408115 695710772 120110364 383414001 173642066 241059748 836862258 888053119 416876267 946956481 550047383 246625213 546054122 454825137 493586341 648280074 377160997 180649526 557778850 309798096 975627303 450155617 618332796 156925373 801734915 436977434 114352250 456970532 277359116 139541541 831067277 888112600 858928386 384217684 585693149 792270021 357166620 566040542 571975045 466695670 313846750 918066948 453515419 393991889 631637329 992710126 928878572 257330698 240895511 259299039 393856503 150485741 550571085 784093928 231127100 554771122 502546854 203929657 464575753 994525950 130557325 748040020 602745738 827457919 984679945 301959952 855008641 512273501 537423167 730521030 936539567 937792790 531773854 432351102 873651685 236317100 264633371 792620497 472224328 270576174 419957616 817296319 472115366 379273769 368507100 676682485 305721585 526657783 650731711 607918948 526709284 600659811 431570834 876893307 389115988 548305175 614955403 327801251 355194124 546612420 429339132 497177047 734784101 480156999 660368258 988243055 931850884 334116724 416777336 106668446 844931583 423680884 673879952 905424703 955516573 504946660 366300257 183432073 451242571 894583696 907490724 839331437 652343148 752572269 500780210 358592709 632786238 224272521 746034183 145300658 642737916 913615722 794074122 403075493 593109067 494378475 587113668 285268477 556996689 754150078 740934740 791252469 828979961 747298423 540940908 641106636 742185199 455366014 646982457 113962369 939365286 131597909 174050739 921262657 129000309 342196763 789672434 838247824 765890578 539968861 648469968 169921077 213044081 758700295 596582441 473234403 513194457 905430158 538274088 603448665 636008985 120770036 244106193 772813058 523798593 764439638 427914215 700019025 446819737 882845588 318094788 668908980 781566567 985823470 228227321 696372153 854030609 521077690 169754717 550273548 104236290 837293854 444160005 500450512 911352101 736623490 598351689 228199626 233036647 552228475 546142233 157244532 253696975 990732338 840049361 436626151 213056485 223338689 892283177 721534076 475220409 301697985 737171057 431339095 973202348 383676530 611439900 147262704 200116472 614001641 337644049 616230664 185839494 464744328 946758453 884992268 664810102 659207438 385118423 189817675 116531978 540260763 574599275 346343806 612661284 985141090 748971696 335198183 419539004 600679517 996312401 134837379 521245663 829287547 742669591 985805899 524263424 509698336 988160230 939520458 947702904 527066721 966374375 950982867 337531231 291517183 697658284 126642956 233728257 870558015 132442357 104736257 528087161 349375463 383231910 528156479 534365296 487143439 811370629 725906718 311374194 202264808 666376692 344964146 268881711 334745525 701457622 582222985 764294339 790846056 275190062 790941338 259044081 311291479 394939120 526788282 331345745 255613241 419224568 308772130 726929876 175007723 269476719 261068263 689152599 495272404 807902494 266323801 437196190 547885805 398617443 517002149 353123742 398439562 373022046 507764475 573652008 975815994 999409362 952640576 506099916 478602958 295251173 763418364 710982754 911771615 846747091 144576942 534825894 874110000 544541110 249547480 864694231 526329711 571706835 740885992 362271471 738118727 160167133 829203003 904263550 711372938 572540735 361057015 429063642 375912867 324797267 836896155 816637893 813445121 371037732 942169175 494478622 107279975 322563716 582145754 187647771 277830472 766360743 617823736 698433402 727320172 411731126 660165236 570424006 835854603 689042637 551257033 893241161 586678513 220288922 609183614 518721547 581642386 655299730 166841812 430230352 865017414 935495034 248521619 295604088 800578190 204841181 410585591 675688045 981984311 880250725 887593968 155074543 578803524 441460257 110875105 238428204 282583173 434791279 667976552 869642817 245106484 504431356 689181596 555904243 825856995 464474600 126753272 838601113 311945704 581180515 847031035 777396688 479941321 253661362 546590517 553030070 761447852 356257888 777251663 435763438 779937193 141348329 700833913 647290470 251418672 766369372 768942115 705250937 969560801 649863452 717734096 926652257 484596224 179425836 496589375 202196628 790284526 974986765 287321201 947257680 675475727 857606495 732456669 634484082 341304348 842656613 825750481 647830964 281573699 464280551 576223337 895595635 527174503 299422692 101501258 955307288 653187378 161264944 504099202 810216756 965246949 905473395 753631044 436872686 729457976 203458045 926479435 117353371 659286854 556965713 520163577 546377965 160683549 685912647 493824968 827985667 158652239 520956603 130540930 781110731 406777092 228732747 374381832 396445326 842127054 405258078 770235293 937643819 990380360 657036171 386916933 826471766 379301277 338173019 758154306 547299099 190439596 671981321 150245014 331175045 542812705 589152728 255073066 811111022 161787238 498295504 662105725 475548720 764300903 881372215 828933316 251959201 544825541 505927158 828920406 302808204 523589190 671222857 422828754 929798545 114058076 563718175 766165198 886593653 293791980 956643274 974834086 314716008 580707637 460181195 479245271 493813272 348962317 573285851 349237928 825714371 822182337 877861174 924359266 496058561 589972335 320182026 612612314 207642577 297021467 483286900 907753705 857383589 300058011 885825879 158525121 869144255 179068409 334394665 627118353 614570090 572867269 431708325 229621303 258627757 428969447 888297706 920555811 866080541 947406510 163966101 204978942 313870911 894682260 297476676 416584489 368067851 768064857 472553108 186340435 959865033 621863107 772626070 499709308 655922015 300325651 342142960 609615974 445111179 190476281 250730494 135318899 685792724 516116369 522978300 678074454 855250752 281956017 419773532 388447577 223153799 312854736 853631610 926896825 945995537 399300690 859976236 683491188 846914047 678918508 772695636 940797484 620587314 259222880 922377722 502462630 999915669 343052739 101597278 980875424 674857610 535396952 518273138 668471900 831117522 204295692 847629567 283720849 779929463 687275769 182008160 939657153 392179499 807878759 807107146 601204221 344837390 478808674 595548391 507402765 137421104 381455817 632721333 652359975 628381201 900243565 826421428 181476160 300539160 200426614 625040885 583233622 398021191 663551531 989115569 426127384 678307315 771994943 569817661 904778916 804958809 231575255 348958998 861182003 443157255 776403010 700458151 199791513 907058877 680954318 852341431 114148657 941662077 989540377 754327725 188891375 412587618 243713764 125796945 979267758 810760236 276943132 819957071 617402503 752738934 883422412 228204036 450361655 380053131 529025466 153910550 648458952 506044961 582305556 249551936 486944466 741293612 683090622 741168372 723504131 654581200 140009155 629106897 693803001 658026915 496858671 754951813 840166658 417293418 778307692 572963634 458525531 854892984 865178166 640098442 616888475 758054894 969973192 982121054 150907223 377548421 303993172 762863912 184849827 574776962 704926410 752183817 832460769 266602059 962642482 174896278 967803420 457365924 387981543 235958169 707779607 107651679 972583766 660049729 794569355 711609595 830097780 359880226 466708502 752921319 887062254 911355899 870300445 247677673 108099327 251950407 351069717 936674451 743178370 871918962 251995717 540634551 365990342 794843223 293751862 980529204 516167069 762913856 554875467 405240751 491694370 777789951 745625313 977677649 841688987 903737463 300538096 324162373 922285947 901292007 468746661 258216250 674466249 256632305 837297605 651185535 801827954 653950948 534944873 456841476 264999827 629747916 839514487 344301177 289405904 423116012 995531177 758374710 403495697 261421288 198089416 219889426 665478351 559604994 442529779 377150548 473300710 760129630 918449518 559507202 776596099 198012119 552352193 937291222 529027409 653863950 948388937 253773173 805048101 407869131 894483141 269666977 354588131 413239222 110773404 313928552 901784318 992764879 843573893 884633829 546962745 648209766 990291809 304545833 252064217 398649937 572173527 454290396 930366896 356423297 128561730 534997524 815644756 505138049 936659061 285010858 926795524 152353324 449974187 188347974 409753950 393028992 988351480 824510029 600873431 459172997 388785723 387296857 491080404 434100983 498140296 866389574 257370470 420904452 309352294 422656300 872505825 207610352 265063458 288068582 542086025 823264522 196892293 854559419 498836277 457726282 718244788 918718199 504425105 274981894 481258017 471216308 720966364 478108910 354872072 361958552 813567826 824864691 461386901 531095475 694955410 211547335 762399738 316212143 616113875 903147053 330141618 946049162 700038782 742424427 885457041 363215189 852472574 917448704 175374459 411434475 406880843 407609979 758813486 980623510 747897662 752772353 590574633 364709765 413954163 896159862 239485308 115287538 781209668 377578005 357792000 508449638 200029009 817480442 531416679 221459279 869746714 318401466 695951440 628913764 397283113 462969496 220604643 717604768 895440968 469255261 497205163 123172666 898269411 549101071 510737397 647855370 192332122 879052497 381756270 383778271 333592971 441907743 692240974 157158741 302141006 475648797 615788438 387686853 397390853 624383287 649929507 106219126 804695966 951945054 506788671 591647877 581139540 486734161 463532159 739395336 644573616 879912385 537842663 447993446 566627301 292561416 908570075 197619673 393608125 126541673 280380654 123037958 196154631 952153731 604500926 529795249 860305045 425423549 976522849 494039187 826420715 220572682 350921758 953215873 837620853 272723176 909446230 356054927 587156538 613450133 899528817 405828638 683521562 632500194 956097802 495718147 535172633 966143910 668975494 779644065 180881216 767388761 838353289 560609757 976644411 554606249 973856344 675757335 255120519 733666918 909054489 495524338 966255231 258898922 923438923 559716326 147864801 423679983 243158030 759836556 390235305 375211539 787028450 312566255 565111696 911924009 274159417 398764644 654026800 947101122 462936115 110430130 148785868 369401541 205913856 861106802 222612061 739041637 528109966 173975450 738120552 829997480 277224040 870849117 221593231 404816740 384110437 293838787 938721270 626513979 778095459 534429207 865444009 619742033 424315873 336550328 736004139 675860607 241471463 735146014 364027769 441017886 803238898 509643151 465759364 287368336 808300446 607014243 913570963 236304937 176198277 344913648 710629923 956525093 788644320 636100572 936948341 225418700 234174836 542672404 336558104 308063493 319181308 300092083 487112019 101125176 306347672 128109863 389941017 122825023 810174600 295158728 335504780 356934427 165907385 147069060 440255544 757707984 144221546 433873755 316694870 675951831 359714975 157509390 509251114 663499079 807312358 821512330 306891608 235604788 288262900 814805639 828876054 150428685 199219814 176317667 657823890 684781765 476011054 771066939 496333491 617750369 923797461 937332083 903796754 340835663 141633031 525124299 372084880 619261492 484452982 232947001 684974199 850877527 506488182 524720439 507848059 620700437 198670463 957821989 147287935 304492124 224111905 689171855 287394109 573542536 302115186 337761076 192764864 926654900 869676664 665603318 529826889 835994144 921315107 284209567 397612167 962042317 773507970 131294380 824109825 335860084 324666119 456930116 292754507 120701972 775591304 641387158 105687208 969275548 629497860 655038310 863276181 612098864 228824584 294692435 339857076 912834082 645908803 369218730 379736830 623831089 749429666 456546385 127604081 179678376 810015925 663549582 972169785 548601579 266992109 366287517 709163244 453969820 793363991 398656187 851745426 194251387 865930634 857747206 268203049 690865867 212146025 501519059 641462142 840206893 857823068 765357632 105940851 195564133 936221423 535175931 191421888 402266216 229694277 577875446 861589973 698810580 557493825 142467111 721257850 195011607 815579640 687987164 921509527 821330006 753834032 437420811 712433240 633292865 258501700 676210441 964363193 309840777 325386891 440460001 976811276 823286781 108272235 585743791 668234272 842925829 581487480 452161848 608966791 575615322 701677636 717062355 981759817 597486411 183166068 997350791 663179071 741426675 511591853 459808538 627593175 290717915 912533093 501860212 857204474 240874351 116912302 845353853 522182620 503514673 812528074 459256722 349294653 606409714 735771141 718176147 419035532 470817657 941713995 978078533 441934242 665433016 212322262 619244080 442223602 440361399 931614528 518534567 393797725 252288477 340821665 680656103 961445225 437484138 255542904 195697072 786687778 558025683 622982124 718014190 662957421 653227001 680129389 574157690 168257493 732504476 935563589 659514016 808448680 605462741 241813501 388485548 984560760 454997984 631766115 791897063 248840846 536345080 794371828 626711700 286479699 948236055 549135133 719285026 801913093 659010823 913140615 728044713 791544112 959508955 400949424 935943701 911035766 107640951 708561192 871577174 207600892 707779254 167715583 530706948 442332847 288865181 216056487 199955382 261597760 447918340 162940201 866747265 739561706 729525713 734415422 444655652 254101943 705316825 176651409 453221014 864935662 144951792 886161402 919847815 534125337 719120753 803846626 743711457 309123367 212490105 614666194 935288169 481925996 827660913 563140050 299077196 151355309 213457099 755153386 257249226 263236022 624611156 396208696 359876379 426183338 276728636 180789335 529557941 295013125 851218655 796426194 707428251 228445181 486029979 233831192 966284215 217187907 466660747 517127276 709036944 957048153 599866391 834776582 904135498 863863091 204986982 996069512 197722716 137787897 378231469 762351818 964082775 873947287 612175786 438371152 666582645 111920828 889593792 534968254 202486514 427601351 641972374 174620967 327255631 770762456 146178891 839287882 646713804 522535273 569534614 965998202 704494280 948022281 618792457 495163061 199578125 307134167 383601319 345512667 629570163 750695838 181226135 132239367 288055155 879867499 697857214 106838055 269159126 330885352 139198993 518084555 847772825 585478838 653976859 348345040 848126675 612597724 772919444 739299740 960714225 653742309 297831819 672549526 843769660 233019247 956984078 959374117 190713168 575526824 847141500 697573921 694565111 933183056 952771292 771262459 527092585 953070254 359760775 667119067 523590462 886889007 971072543 778494946 595174983 476010618 169564409 671829725 465830737 473199000 950096824 464551027 653576788 580656149 494338592 616168431 936999470 239936930 684242457 675422878 101337970 451584936 503541289 907259356 365008701 565383905 299126308 976080241 126820401 513583608 703200854 823168423 863500997 612749036 938909681 226287055 548734850 443024769 670605226 638084869 117004576 426348012 666793091 651507757 115112357 891737139 513626450 443373948 704896054 676756465 427719695 359557895 655946348 919462458 623288057 893485369 586004931 345834378 911289904 217651947 616361572 162510710 187109127 520747280 979441144 237387553 478398324 581833979 717788371 184630559 286089301 346029581 173860873 852678388 170091476 535507574 107802290 147145188 468802982 588318448 808196040 809617892 963359991 479504690 600785722 787985982 845680100 761726036 240759307 373622432 521456908 394077834 807856082 308368762 864312908 983512391 530245897 337725376 698772483 849082638 829898827 536785740 274462930 370197666 866932315 939386588 632786425 396651923 931201090 790370168 872556596 600475071 676058513 591170008 331875669 675089511 265300889 761065439 540246748 807884609 666473668 745583556 767260283 362259111 831910044 976248661 873817494 870635178 298260726 214367262 234129478 863382087 376239055 771809587 658068696 747594918 353810847 636856560 378606668 900191155 760878994 242782480 957541204 748040248 411076034 606870373 192581740 637551245 690978382 201467225 690596659 617356729 220470561 109080574 142746291 584603105 402612361 662770819 662433575 680316468 574710816 521364062 877245885 246120942 280333388 160993629 705454544 117612559 341542363 786288737 704281487 921936455 539190725 590072485 876333574 685954852 143761567 957591891 898661363 659635187 612571673 826837331 919406410 952601239 773956380 768815741 631694029 501770586 957190820 911495751 280612391 313264008 815752688 172543101 687080265 413020256 805833234 794448085 400316499 477485740 880878897 394876134 308593931 814157898 954174987 823298010 866386159 311634659 713399536 640802374 188230212 537036638 913633606 353271575 473371855 176640702 436681513 556709513 172486159 551839700 681969635 931924697 854849118 965316053 808815671 977406105 586534428 855935334 871379114 520827236 948245053 513244616 801116407 126303026 713998199 460466398 111672267 711428201 287214259 166319110 643112473 999843524 784416096 922701666 510119279 336705176 949022440 146014330 143769410 272838542 341029302 398861989 637653655 805832693 981894009 445175606 569364082 704542884 812218683 223984211 308775390 331121182 137503816 744381194 503620743 194849320 204635198 455706819 848727067 598898529 446567087 645856780 114953134 452782556 503045967 914375122 240798044 233958793 833858087 722311725 607818473 848280896 124587118 702802301 686388977 790444836 404331756 474444406 161495433 105462996 345163865 328234834 708874284 119714608 685311346 361734487 654303420 681878505 243742945 546468030 520875889 763083941 788014068 879545628 851106928 763024578 934174095 811179602 438036450 138646495 987595360 454234658 502699259 246518599 478711431 953953236 979539994 695299334 877628239 197946776 823795791 891905001 516395284 587953965 569236292 302304427 516472440 172561617 331126966 559412037 420911826 675674998 928269906 942875845 567891886 662628692 421181128 658448194 117195145 733737402 442270718 200757575 440664995 252699299 773770685 300393091 275462873 452114760 500197531 496592259 995310739 819441460 977494883 805510875 198109305 786447176 747047761 682340661 196463194 649636088 699104889 291868568 655499922 233613156 525471471 309297167 866152976 176643197 179215990 736520608 727754463 716427323 753761923 325811032 313441549 233040588 213890006 797960744 349550359 158484458 981977885 388150818 871184869 936382776 184895397 126057757 763504031 873116453 695890164 988348686 158111200 637636603 843435132 590660315 899419627 761433096 977046805 596035557 360181212 906369229 700443991 602461001 126173078 806926908 549446148 936600414 686822864 850102709 946187287 148442008 555414589 324061163 964727716 764756125 388852613 171325989 584692485 553575470 410906653 465420279 938439115 556670797 648675654 313413820 637565973 773669752 661410037 675010545 937892486 930523011 375974133 403195021 312065668 294835869 331161221 980600929 433863940 204545403 740864316 744749925 107763108 415471662 736252873 918649863 434601614 437438624 340214267 235781649 638336782 257288820 275555236 566478266 953632780 880378392 928609497 699313250 963509549 452043093 534260883 801024994 559604116 638102973 555778226 813755077 622697964 518717125 615915394 116359977 273863109 421152679 286199683 708803915 984414149 434200761 331501784 163948632 489483019 152855544 903603338 995746848 690966355 429018767 349796431 185582676 440031714 110243019 313534754 929776757 805520183 474119966 472964813 651595653 626611501 787858683 432478470 113027136 437603046 606578451 101236485 506841972 196446580 616547563 955003331 931527173 315664280 181677215 600495545 953214363 410460587 453952762 106725790 716531795 185195788 210791334 957360099 453103407 574370416 461009205 855251529 790178402 456412854 227773912 768061425 709207266 385432665 652588972 131359522 127111865 648601216 965348973 890309121 871024237 429610968 970093489 408350594 549112816 686850796 856817411 568730446 625060253 210571594 985347196 617238055 244214930 546485431 419245082 289381387 302262367 826768768 931016434 231008566 587632936 398897918 123877495 182702161 554050841 657923681 842193504 511222515 368330678 269879457 933856297 709968165 849334308 949517938 266530289 822972990 890342263 381827575 744551523 241008925 215695472 840781035 785010646 419958674 232616851 857395059 470862335 707768546 528606603 400732154 616913378 853505944 265493818 149406725 819123036 453535564 418304318 911620082 762168670 847440448 895988899 996084067 200033329 931106179 967037997 461943852 379052446 596240913 276851015 752165950 865149998 636535508 693564054 394533711 493581830 212927907 946088818 430886846 897037472 523864348 951202952 788696626 748073234 241614189 714073977 319744398 386767281 908744403 710818273 226866584 631822650 473102416 644063191 690457152 612994876 703327821 813426351 476992363 668086722 570148651 679677482 594295185 806271247 791546567 359256612 167990062 758770668 847389568 755087873 364897086 541866413 294403515 793866020 298033963 734635547 157541365 200214523 200827720 182845155 127843534 972122819 888115061 493547285 727665761 719194537 661580191 122752978 440532609 333920057 902987157 201600222 437499653 213670329 276063992 610593580 245182249 163848557 880502103 996998254 973451480 215281703 511709521 656258355 508759662 493226606 561230401 792582366 626676722 302065994 463020195 115335040 945821466 645233417 645572665 429930068 668907631 437338015 551061637 389162168 379530311 573955391 103708730 708134768 916568024 818097779 228252901 719507707 178969215 586779621 951848736 770359405 641707008 328720521 789089418 160424239 324814984 668314868 895263918 123600341 455452665 551853826 494226153 917782919 923729859 749308713 266587528 903948506 828987518 337956965 636269751 421662234 794716889 888564430 943439961 866469798 617847845 216929062 905162178 199530437 863112494 256470255 907264170 574152411 861715448 568585704 569106125 596524253 310087103 903115806 942804940 871932522 979106471 746222289 497471292 485095425 586950990 131805407 253958739 673803919 537289959 358279423 237047972 985092124 281925489 971889103 501186684 684269184 313233077 612263655 463403748 466592584 419285042 804140687 522476127 862688771 611311285 431875654 753966126 997014735 193046278 966828912 216423445 782907055 291885863 671147322 476668849 830486471 809782320 464644614 349173649 386995696 190759481 306127541 725758651 152252646 551347540 899335349 435127870 360202911 541925478 149994842 742270556 130682141 174230499 846920163 113985531 748090918 794358355 114176745 406676662 315163990 885690810 170910712 661544524 490810964 300292334 930133107 157085493 407374728 684626433 370000631 863537780 647483035 765951645 720456305 261539646 658944399 950542345 412895850 437923600 597096612 996713481 122578134 699412811 213520081 502449340 962146238 194995861 465260560 610523668 271965715 314480306 964306015 675574810 854831693 588212375 536331459 436187737 395114172 569528106 227548486 587647329 252898815 513986076 866321550 576548058 418293181 513167996 746814449 612790030 112528209 729782097 394698393 349562059 195536228 522328807 387821430 658468239 822003668 420326402 387675889 107173133 466458121 806376686 555389860 353765720 410544899 240657969 518751854 422480712 738105284 873941020 384964493 601840267 580884249 831327457 807491619 149729568 697539350 300627414 925006357 927773204 982188247 793287472 243423772 145301998 282686196 798067580 177495251 618700499 754726418 402806161 483873894 125561230 425085006 908769832 712172888 536342099 699641673 697287403 424284020 358692053 500333026 927292117 601830872 767141030 480564929 918941416 104131757 378309161 156744960 750169060 903290847 525607755 242426408 404073391 986477359 966001525 376950926 457293660 339168241 676585093 503574378 815547765 191783345 661212759 534565380 228487174 348305572 106723026 153006112 492954329 662340455 557171111 969628965 831607381 966401021 225627456 345198497 161748812 742250949 497077728 556822970 857212431 852989596 517256204 931476083 177994445 327969677 194010436 119727873 440159579 534843487 901446579 197374552 729674768 664692798 131069073 614825982 793356195 741437349 829378676 404271492 185199255 718304047 126759802 715058496 151081013 554996054 830918152 182011406 272188025 899470537 571368479 579983002 210384157 434624303 533613522 784592944 105729449 819099335 427484548 547247518 353889359 737861371 151486786 358344966 287125535 739824629 397016854 620936629 448742161 264181327 641383730 860004705 197101695 976603372 296189082 608505324 457355468 230263265 367761571 367080873 860403974 654348995 212561312 924019117 829981581 889108784 780669204 383744463 972788418 765067283 793828959 932777724 684771119 633099558 281868748 760569585 224008652 185029281 378023942 526745984 239212173 488066985 571986394 994004073 517645366 290159980 851622848 915485834 621118622 404662799 258779713 885243665 504185259 992926712 515494420 930598532 603279527 116550861 469253907 502823349 121657092 187575332 479594399 978725468 665079750 243414133 829790332 106522898 589626407 958119604 724820925 660942806 307450576 588138776 256570837 928751774 561946657 353862839 793005172 658996084 867798636 265890504 158067932 292388434 478165282 866897952 545252302 838461996 185387239 211635767 797365921 265124288 457432030 292304485 668258314 892967093 557528298 502397856 145453518 833117420 515473977 252739369 683189786 999177746 880130000 264384640 939226713 526580296 471270420 353059056 412314782 761102163 392046465 739162047 435806949 203036574 368327525 479199080 799812972 950871106 901604378 609854100 134551364 960639329 122408227 432516507 157023930 278195518 486135948 281924359 969350807 291359609 695104308 320467808 203946508 585053895 304433409 544333756 554935967 690529467 618624888 863017591 310753684 144393822 782408752 535897954 282376970 528574072 756539040 617044406 284769705 598147875 274644062 295343992 443389258 878299011 244353558 761783532 241098284 688147092 848220635 609097719 847786974 580736900 902450813 313656265 868999911 827630701 256433663 913070573 116972169 688463683 281236229 643540086 467662454 754547068 285034351 818008571 675493887 588516007 192892697 677748655 462082681 427531072 887830265 592961837 647947873 406689731 530401514 250770736 744386850 610336702 913069927 117480299 305858997 621463229 703789864 572231713 793923864 643371069 856659011 470466123 301841836 690682415 200777028 798889141 635299840 587390230 719107535 484086260 210312669 914989350 456180193 885938447 932909917 706426349 861168037 643827861 687090072 680944107 999124448 807292512 382914499 168404731 562649987 233774009 341644423 200510862 520631637 349057594 318060925 686596046 719183202 339858658 791738787 833672374 872939823 539825204 103828410 370379153 459859626 653094963 517339538 719806140 970048788 292210371 930128764 996815058 762212969 429593951 783333925 450884399 218994457 373413197 976492368 256004981 956527399 889512709 675597139 247309258 930890949 833590325 784586042 796437202 806726427 358235739 870653946 640242202 600255187 351322073 236427883 436160212 204778179 556043997 630142006 654378147 516179074 150807036 206271614 547236398 534469355 795760781 842976952 978788351 741182863 952115353 285772708 399239356 321425308 412049941 925707971 863575691 770460381 495092771 254571170 125013120 943690742 219040759 739764803 208787587 792556412 643712649 872264253 552892684 464029011 719228723 225293245 378369436 634517868 552777868 626773628 651272387 767549087 156441544 205274796 923356973 184939490 776382940 913877770 173923137 567298067 747042997 125501644 384220758 235583679 465957024 825131947 239392177 838687069 521267640 887179112 697847591 179087027 142912950 234061892 863309032 609189570 691582198 559913309 494796884 730697038 355983093 879241831 532972771 168209173 403783518 484783366 919627733 147184822 691777771 134115473 924903990 315669147 888599240 760038783 369195538 398800769 201917364 188759256 132714676 615046431 686654924 482367782 854528361 112795636 603584386 964821744 534818722 469529400 873659115 362012640 139539815 745621244 974063232 830648154 683252936 446434489 350338437 838335281 347494821 706440731 291396801 695061603 352781578 374995214 466181815 658776756 681496065 356588096 332521759 132537617 677685276 761265014 730912148 154072649 328053157 621701525 376050969 598163604 759033066 105081328 209309600 593923074 166140865 123351335 452186351 977309098 125115923 210059444 938833455 177213190 682529152 590160107 574388099 656539032 793691142 410468278 346738425 655155825 487075053 774873156 484491848 380000954 818766851 688580305 728962839 175023343 714109921 271204323 909845057 427618253 187497141 590201487 741827546 820232322 693851387 348118156 302137657 457887460 617952731 747020580 871022786 760016005 733476644 765937151 615034025 546928367 420672346 897292705 612744169 151918773 298443142 419099531 344538047 854296287 545399481 175657210 271798992 760801615 294390562 530619801 617870046 529674515 439378700 837416481 562186765 415406282 730316297 931987373 550525524 654524807 935906233 559513676 217808069 700248395 723723378 218076691 373595152 881671356 975880284 193995542 903865766 710266557 472202934 747136150 535146966 309624685 438029592 875388218 140686411 503782232 320097131 536315245 806312221 893159112 889151187 993703852 721796303 469230677 777079624 375556924 184385398 453138435 133766538 446595751 592281323 898722458 691564061 676787956 784798041 858287670 188953809 891397071 173294162 168958337 910010885 808697166 909870959 435016033 416614287 230486322 213243218 931286740 968480600 166309833 807404636 200398036 353326091 633416758 657052944 749964715 832864755 883063587 380358052 290297112 137778019 139167888 185834569 183621656 409273824 889793242 896120891 800014428 627456024 399539346 349190190 982691158 403406568 247114082 849695265 261055330 933469391 831061174 737196295 218567797 636063039 150705236 752355146 689170346 509534779 258771424 296337589 594235701 975396337 319250272 591380888 656157387 368895309 977095641 205524941 296881884 547322008 890957629 831943505 322483453 193909209 359803770 458820074 540850572 582823467 466658025 798239828 438798685 393910588 854272477 941564559 437346415 207619508 790100467 251405522 689301391 302288603 633482385 860130449 744580269 283331456 676800534 538259548 725415488 280885561 361290830 640829455 625293046 917504434 768067499 482608914 747990272 815393918 112435041 758225443 569458805 564795921 848207426 531383508 606964180 533975909 597845663 556912348 162139563 384978596 868777003 909022005 320671287 470923606 112343116 640843022 139787888 367305565 683981839 413458190 476167479 139769970 997082892 199807553 863994773 123162126 173722770 794839955 567488063 961540470 599419022 791238398 925864903 337723399 305778650 794045285 989498800 205389020 163916603 709056881 561059930 632043319 777320620 662068727 803818886 192590436 227942884 703382185 661304945 664699267 451123516 937370085 470085178 729352097 560295733 394085355 742195892 733335568 275639610 346528493 536205721 823613731 837765640 425009958 836747578 195935550 546285502 995321417 544495197 464549673 235186629 282759291 917313713 255919599 775030533 246572539 604070343 908674523 700089110 979254575 405403644 294744716 909658843 259353365 170073759 381058531 357618562 298701843 585844419 771765191 985018476 754250977 396582691 367805629 323212477 134161244 800215752 287472998 385458776 835650120 838496436 437715569 617303024 428628854 443163071 579755737 343186373 989354875 696022986 379752774 954299862 269885189 734591365 625751179 172221214 586559898 886798095 767877273 386125517 834715432 856965256 948783105 299059597 890597524 140836777 155407328 394922150 542924016 674487890 112097704 871551079 563920623 759834391 936358911 948341639 207409413 989080314 899156236 404817981 120163007 811980361 737249349 675040700 388017000 297451629 768993202 389062549 862462510 733470684 750821054 965728428 846525963 496127286 927805080 739047046 388234152 185151275 955391185 671006177 944969715 442862224 605505280 385709365 774414159 482420184 306424409 518302036 474375100 129415448 901518209 196201852 700531732 922260455 375577546 969583604 423422913 882807970 187400402 922898189 796410089 963515133 807368438 368849596 360420794 988945467 586315455 950224859 605702229 414766972 325047481 662446371 472614902 852795233 514073169 311046195 398415747 301114782 958856028 404202544 696175018 996364518 921242646 401701626 224225183 199554603 976675806 302969714 563725647 230225712 786691122 330937734 114713081 775753228 317085750 428115279 787509235 751187278 878152133 315443788 710524136 851934020 141970986 966356189 967902606 493592304 264002265 772547706 535657917 829744815 572313422 963962962 851053319 271396092 786235219 932674932 137657117 238017471 531619611 553803698 377585508 736503789 691210933 842008136 478132322 659756152 555942285 803158790 750071531 597553010 652129486 265928585 429932027 347223517 975735339 805891397 935883906 111525232 666610742 227101426 142801138 946089696 917463416 287800293 608087251 228181954 416510562 797193424 348397303 398975031 130233314 270073556 951067289 402231199 334994237 249475680 299636930 484032071 491271416 722063042 928307774 110957847 800050945 385962388 364142315 318286715 120328496 910691479 316425517 317691705 506126614 805305615 564528141 451913966 243495250 758783857 591452032 955045572 215682684 969610454 251450227 655626981 347445640 330803419 724985277 369300803 607755925 941073846 668128405 529732544 574506410 541229584 526222330 802726644 709457797 747714482 554937067 221861489 563449441 388987411 520115059 496575556 638424328 626311213 394483121 127293602 818990089 678618584 267723470 328438428 332339443 502166793 501706809 807732740 125590604 239480003 777866581 559301728 371942232 992551521 762645715 716823585 286496064 782137833 177285351 210592355 211192887 358564043 709452806 231690141 854998309 654916839 184144775 348830446 847319020 790030327 275344085 783237964 605338983 254566225 720557655 486640807 329401261 210858982 745982044 534101097 262242926 206562475 231520502 434295341 736640469 770059129 599019367 283535344 328383784 454361130 772710558 337557422 337254184 186211885 393099720 821317528 386887404 442140698 652408130 814489351 490697831 219896244 965620489 928082365 966967240 346983507 358672787 197002855 609163580 149815251 631620893 126204482 852606675 788751670 261820422 179022135 849815730 416009618 877404102 274926525 951376197 610976915 598515559 549919636 553188291 397518174 667722361 821528627 580836447 888895883 787192209 408437331 316857265 565486736 727282475 398355178 362128704 667788650 890079992 314098343 633708894 415715303 660944957 858521256 996755279 708630271 568694815 858923188 345056226 907650108 731587989 956836794 637107929 505708668 217302704 619963673 736523741 989373113 281863826 285294022 774042015 817862800 175263580 317254932 445459206 534492419 206930410 165504130 682699634 924967669 478812837 654376125 963944268 353287710 583557683 810981494 364905527 910232717 144269786 383795601 923018349 160398688 278149133 173052385 894558939 571121951 361504923 253080146 486655994 641152886 254570236 642452953 146131391 674721097 195369393 590876469 235120570 474760329 630358194 690823883 193720680 813630499 208842817 676822417 254500422 377482847 324102966 600051189 406558943 899265110 135072852 539447861 895794316 478628843 634321342 398793949 316358813 354909279 169046468 463031073 737406620 801775870 161447935 819768684 182323494 609596616 224672633 980143983 942237644 555486308 480269470 548383522 387562657 373337233 499621995 781573244 266680492 656084934 543171545 390763216 665376630 128045646 564432214 850529549 307139005 790028226 615621181 235488800 413211260 767441015 714572237 969975743 909547654 738228931 461484150 600616834 344574036 605901095 402799901 772656846 195132974 867909513 456338210 355616321 642496289 729553392 875856907 608429356 757600171 327677986 359201170 930179212 915485042 811386708 274577129 883569843 547744417 227405055 309522324 548334914 179637074 802924684 697436453 417998705 908988885 978154978 968732303 124084186 892097097 514107067 593708527 779549737 624639670 632771407 501772115 480323377 401195795 362144640 642340652 459529158 322229653 753989547 525683687 941468409 522470937 873928645 855594428 931839421 275117103 346746214 514546851 665002819 670184828 660644629 116746465 732425078 477024014 580788296 497783601 324553614 288564968 808882454 493925663 142249056 802193611 461951165 646274222 640618229 510003533 719013497 634322196 786595650 130205844 774709617 593398932 572217736 623878458 455507562 163468402 930832063 877322989 231908995 863961900 495723782 418255443 993186239 138771703 973403217 566009436 837279573 306736004 928048371 661411501 781401229 973835665 263065383 792449943 544591268 426847362 925925557 588094395 665943110 778442883 525254155 867048574 852423992 368594039 210542841 383968818 374036121 315387751 757498453 434229536 761903216 733050694 108308056 783319186 361424648 487911325 652132629 953555703 632391541 862070411 625566080 180692429 952663545 259553087 326321786 179408509 503251304 694701079 461247945 379937221 845600405 357378151 257465132 519819996 718947169 289589242 377589508 890518064 788608800 906959752 878202216 140262660 200834241 776427430 813452998 404941765 795945744 688113907 222053293 449228280 743998281 552149601 325608547 954864862 734407579 212293034 828497381 222959988 384340042 838334285 878940560 506229719 518040679 169294141 920229462 189347106 915195539 658967905 459945360 741773866 393027841 890839677 658844868 941211587 776829911 706591942 366027925 377919389 798953261 696484445 477220927 257586208 345491425 234241792 378291731 197581336 232014840 574089975 447826003 515933812 168149131 780404187 948475185 875649316 309672763 170734556 763814268 683568878 587121148 577542967 710627303 835842893 286219418 983906989 321784202 705034660 727415413 200222619 474442709 630365344 542021809 850562475 758245029 144925957 233197518 152702880 163930237 908021787 116590507 469676612 148926820 714655033 216645818 967481345 266444376 355192675 313851343 389957172 119747653 908802218 724858661 917634377 861012995 295254241 772371680 511768862 763646977 138882768 962139524 802343505 727545074 466271109 631671951 155709480 391374710 951965566 303970080 411989270 310912022 127971582 746519661 249924507 295319693 345315757 844724875 927759999 554926690 626117866 229327818 112083212 954738040 975532205 367521974 162893966 226035274 275374579 243040346 791122233 557990567 366140418 231211674 172529477 126775043 279647626 159827993 583639320 116468935 195468058 713628945 325008931 150256489 398093015 801940984 530853272 665745232 145323659 397094502 210790803 199162892 341463945 979870386 625384631 757696673 802121144 356723078 897030411 253720274 576528479 821378581 990558003 602208839 181055801 699019329 170467046 590276378 486195269 870496132 237297113 187400071 845247737 119251302 397402206 569444382 879424977 645838430 199940868 798078963 808832022 978440868 877011434 804833796 424632478 288769585 685100095 628159692 336423166 915379401 304852333 969163617 386539450 339614142 488862613 458177281 387698905 741005073 938591052 739684593 536342047 219184593 236569732 297269608 379296652 903108309 586784015 280970941 545232807 521285105 750826328 712962284 370727599 291532235 293288002 262102574 726557720 209250044 514355827 545834819 599028722 347352768 416901446 555090506 453691673 804280441 886221400 855765860 359374378 940446188 803946143 504587789 832918515 915144476 374301831 138101150 698774380 321989687 294335552 304093861 930049204 165661176 753565363 746924986 235859979 407717229 393729317 990072663 135878079 889359484 143643772 491220540 420426195 626771064 924014391 298486949 538610212 881758257 286957471 541548716 991475201 581124749 187511548 931823190 691868041 405227192 417830698 820297197 445527847 790806613 348106976 855041806 844409418 316438639 595568354 235305642 562680044 332947028 707425400 906311670 674089784 738811988 467451634 740765225 863289835 111939587 323435773 196772291 397637568 599938316 968472547 550219407 148452461 771172102 895647739 498102034 668884066 790512882 958866509 152812364 236485700 916369294 524079126 767222166 383979892 734262084 439036030 510871402 591643601 564278566 865005011 536385093 430155644 624422664 779534058 402512373 987182604 520767147 472638104 730419691 172697374 758998615 255821772 541655801 995811953 948935733 566651002 735928760 335944728 333851496 267731945 885495520 573014088 311258162 356907941 331729230 732227193 827384404 309569515 369639404 327746786 507471006 995729026 700002888 206057872 709509178 762493440 412883759 551816334 246578776 923790026 341587436 650333123 693531556 582168536 316903456 660979517 245228674 766783928 682280590 213808562 355911480 652482147 721836939 728392624 856694652 721550237 343164381 173853122 629757951 652879773 369945465 853005837 443581779 846491064 728439894 337411786 250052644 424952465 108756189 306191889 876558015 892602317 762548112 405352267 638331667 418791137 924218543 253330862 555447321 162442421 521204228 393117263 270262089 390735302 403196128 734761141 609378819 811811022 345204403 125004877 367355938 530331723 826183548 180276146 927158465 464915803 904839642 359975183 846919095 492337476 521490134 933745013 514970013 381627635 138134385 866477057 161052720 141296545 887871156 825783147 489377733 461552617 903823719 243629202 140263463 670939954 119548133 205797189 765185849 634312882 374465458 298561774 890897155 748866129 241524024 647978886 991993433 880376129 870743640 590726611 809069605 704892409 976170881 730972168 393816591 991369045 585943825 681743479 723411637 867791129 203297094 226645063 703877504 105896167 235505289 482994257 659892224 188527738 908083250 738411514 754735709 871218936 529333577 299143878 910768551 922140470 389686367 374646285 108228323 585190090 305653276 537014097 170103902 878992141 723997473 281669582 117392739 716415365 103659124 765501166 611844752 463499344 976415483 409634148 758817843 637643266 160564189 207697550 374576848 909689210 239139189 672655360 848177036 545109037 487839363 722524627 439089149 277565483 399985347 492806868 647398136 799337368 820739171 715616896 154225015 664822700 196578889 570061812 560121735 405773713 358722937 314211484 146006947 648289330 494720071 222956683 825328129 487470945 794419140 945156760 488389376 253531521 904385977 274388185 376746067 819309374 128816428 282737068 822631774 830543314 524355001 666300917 345770969 702809042 328265596 558762862 398541823 188012666 606125876 510472642 243308753 707852050 516991497 487950163 117215145 764061778 135951717 584445441 730946345 795729674 644730687 726928383 633727974 748166515 206965097 190977986 831315259 536402562 552530607 311137082 915155269 170270143 146033846 558291599 682910845 437553866 453573940 542529393 451230805 335131953 245490396 524398964 849276667 190081153 949032106 792079497 720531594 204407212 423365325 262430900 973999406 557545462 184266217 862515272 757552074 200425298 456985292 776132031 596772152 293321654 382433792 600608597 734763544 604881168 479961080 775744833 329569924 599117482 740938639 928915482 609762441 927520313 404281319 325192070 899222716 693236349 575077436 230832904 459557788 841661138 251778643 583175587 770754445 881969934 759218375 292791456 427119631 925957069 864138883 208843703 304824719 747385782 956699967 333997339 320313936 521640786 267089897 131958806 613808231 799806916 364724916 884903473 631783408 601404002 359941512 733536470 200726547 464955053 684142952 455337570 169178571 306960460 255282304 693793159 352700164 425814463 593468886 411481752 350348155 521698208 774185471 976759010 733877503 788262811 170689598 939207193 117869447 625951796 814695962 334858326 949481266 785188565 140726321 655176266 580753371 715750697 552399304 879983828 955076900 108299562 582434531 845815862 300951457 701374783 707299358 260819883 339687387 950522048 132208001 362777890 745874112 268429877 232475077 815980483 106028272 325354057 284786357 930077045 906461959 927435370 436057159 964273063 858267905 534061049 690027236 252462717 159335691 722769633 163178803 434327347 771030575 971460118 545416656 801072192 245501330 747345968 224726825 835511405 210467479 743558350 220585880 713594101 238599812 342028881 402678687 668920755 441577730 560582661 138943447 368788053 933391649 871629345 728368714 322248417 445730589 888848764 922799182 435736440 868929798 257115580 781089008 227540307 822538277 995115131 717372844 532760716 788439749 726884336 396711590 598434836 317673955 621026838 878354011 595374563 221266793 185756951 844583792 803149898 402944561 949789035 127946390 632729756 461323614 166778758 273264341 900984589 816032324 544406244 236666057 376500731 767876030 725416757 564656607 817205139 529929646 409167811 610015406 345533004 865333579 968686081 881381558 417454627 795590719 466535636 550598536 725573002 230974930 467254885 643716079 135123096 773612446 117781759 828779291 624579401 269084553 237943169 195326761 952928870 416598053 154351243 843938100 509446147 964360238 179554947 495848312 171468475 430459028 933941667 136925435 162704546 403252406 354608685 755201270 439243051 637150185 726402275 805267025 211853496 694078307 476067428 634878240 154509597 288050058 961197262 574685063 721315416 372770115 336410874 744057405 974261733 825667266 281087330 167976256 998009195 150934983 732182688 697137224 583694255 942014702 726562606 201271423 232014866 121857277 600076753 175954006 213140175 163296585 579165684 131197027 927826809 292666340 443784433 924361274 717652068 550991800 445698061 190695754 458783792 359492359 143030248 362424913 883851991 393125220 599481938 651497879 684204180 233101995 970713950 918497902 430806337 350763625 843372663 431074972 341954836 469189166 886646181 671256005 154324830 226771658 383495717 536369077 929694290 593158965 119057226 910828265 982310360 510373988 312762096 312682373 604672538 719001406 281830945 116883744 846278313 601689450 667369196 516509573 169728919 594855345 890217636 884042236 790696118 249248224 230503424 964174898 973270068 144789905 146993799 645353038 769298601 821013378 470213660 245585847 732710440 962011781 607942662 175328583 668646426 833976237 361333953 929020994 280684709 586672596 236973464 856682973 238440777 796849846 837015207 580300629 416949404 316372755 273381865 309937005 172270252 181768624 948683103 814514919 249790951 930108549 957946125 248606862 776794271 803246761 805649284 550676261 850712174 438879382 993864464 892842483 155186318 824620165 315455579 797741218 637890548 822423369 101249914 544611134 911264670 354667257 164779482 616578428 129179778 273307847 896243078 704919650 909174629 811195788 175077935 367998895 445744730 787184993 631327422 178532861 549461007 563946654 785240741 184114164 606330434 397686945 751591176 211126814 111887036 237898169 606743250 421564512 493172912 368449139 767044307 987211840 567203175 240053097 328339162 220309057 240498527 397497627 286816920 542948878 989492691 132156637 618383248 279324182 962197986 658411193 687583856 973624306 589927319 549102810 128711890 920375255 163109066 260880943 481569401 538575981 367005345 271382867 421061715 799455909 715470555 275058584 643434514 459392838 438241857 293873057 334072254 809563282 368864058 305347921 275018667 752352970 250993935 948738349 186538956 745804667 210308226 887723303 921395956 611358139 578998852 980458656 964709848 558518103 661705710 574396314 833141445 488941756 367705850 436612600 735257894 277324518 512999535 432797078 155316619 905925289 672264218 511008138 489713710 914694979 650122198 464299808 659081330 152525196 235646378 506601742 854624889 604553521 565257856 357592701 159101571 838450762 313737868 294077054 465140903 806065266 779551886 774711431 449392859 402943298 851236284 464224724 636293800 637935545 983441817 970740749 714763600 629998130 436668608 715913055 772956899 429510619 279853801 549931404 567819686 486088307 893827407 159893922 913449032 817574220 855364201 681124951 618449906 281207424 551830887 665961183 299162936 522048883 932551169 974606919 901638063 340659036 432977327 341438386 337123161 181402783 935669395 277828268 403472168 325739328 537684550 881665170 866503035 786075810 536967432 517484433 732906828 441218049 977895350 162651117 512728201 522823188 861756740 615367178 236931281 276226899 646913651 559582641 351696973 219121258 852492425 959313818 869846248 629125950 306711076 683438755 715129459 711270486 218976343 287159844 185585677 848917611 389486932 134992912 872029086 628293802 991421076 167452045 796881456 522966270 934433558 729852874 134490430 209961632 803557499 733725085 405641400 440040316 915447287 908064688 297522994 701917148 638071497 931185001 184537393 855457687 430015836 194920274 328828272 844475876 863830708 169410955 104512854 843704767 187769054 300937151 261914725 124418171 526612255 848127363 979942829 132945077 869527087 729650629 660216625 191199624 926389793 961679361 733566301 451345480 333261499 417142204 638397814 641722610 990840214 282159691 830093524 478389158 243839702 400383499 653550801 586163042 572324783 909820439 464351899 911376530 514911507 736972801 770324883 144838310 244821564 947180558 679893492 978256584 540657364 705263300 738107176 810796996 196798309 870536088 577239637 882285394 259414544 777613235 430653944 732590439 516106266 430747149 270354033 577679671 664130620 888202536 442337518 414033016 410878110 107739995 924331532 785545235 997254539 568707840 527084054 221887333 355476882 269770101 461720086 683751008 364518743 116053041 941261267 686437401 102025831 831794086 667420991 934939307 385441195 155434401 684710828 538090961 694659569 986703965 712768345 379553090 259945734 437091732 733004837 119131259 623573105 554071182 463235604 210199887 119982943 992982942 428278623 186917009 826340174 199474692 537055841 596649939 917875518 554316071 632665293 383428190 113034507 403861757 593009880 274180625 470103860 948785209 795805058 493647060 880540781 909351135 558805380 380111699 641151811 726047220 160890375 485891272 362365208 719923766 932379923 194735920 142934209 594642214 962720770 865783524 124476481 963684059 413849111 528274463 333034868 777917023 122169608 965413659 118785303 422102286 295150131 985823328 379678192 172781346 657020342 887311375 642499356 654398714 613472652 265394255 992442768 942584130 685324218 746817642 349365196 587134318 917659178 455563750 773597716 558495693 839911444 975211846 334489955 502595460 877305773 570734691 922664862 182090172 754362299 660410862 248171877 942534300 970548497 405649718 479688027 532740196 537689783 414429264 892407213 559804119 207807674 406871792 576864447 526005737 306680666 692099166 361306058 913761884 607272485 814953011 635250811 902013934 935532040 952784215 435547527 889659507 243487403 564547658 239589542 811117229 536075911 949129509 480239555 573718125 115978165 936846286 879497465 445747104 170912901 848001187 665875384 365055555 758374743 147379778 835706263 592739653 391646936 249804846 932813209 933861931 682109843 142668535 601974546 866710768 718958482 595190203 934363669 173511760 610783655 698327377 585782573 675118164 764971783 652341167 257256342 260413345 797848322 271244230 495329452 735254284 729203401 197175818 593307041 614882957 401822613 426083937 602540278 363683120 339875761 853611323 429702882 299397874 981476820 663677463 583467262 372969593 967453577 795902929 250333261 422756374 241805329 248484670 153134560 408602772 761730087 194761848 995281304 984819915 147483642 471176957 887070643 714663614 725901754 113290281 279688417 932421318 560140224 211707635 936063614 137588091 729833822 496355420 268553032 193633250 935743529 940118940 520148052 677677063 428084333 886183638 406630665 719848797 174944483 159512621 289430507 294295061 352414562 871464659 125153636 391699942 602775782 529779718 410121496 246624516 140523315 792931411 171058017 908549736 893067016 706541146 748033108 778494269 356361157 848814910 917066628 500484969 643337295 513890785 945838671 367831146 347838168 496818395 469698807 887327966 278726275 976752345 682133322 144093841 558122695 295938013 653460192 536160370 473294059 381940292 411867407 558813861 884116225 934751958 823783230 902972798 892065007 787456260 743518109 100382149 115678200 401294278 106331646 344281601 780506276 437466388 711960174 787152838 271218082 394816191 873997822 315348584 183150505 902241118 886754632 650815170 846705307 659087904 872879407 255271691 500488382 945670350 384255037 984206072 136953124 171625044 295466848 670789448 242345641 607161030 471720484 410414753 106890506 239389294 985441106 295969604 133743989 173842015 784340727 368054532 324615591 122637112 932777791 177498498 592956065 911554310 909535220 667673047 509973636 931929674 846034177 709615363 490602836 162049822 932444876 274198006 524780208 742907899 758038163 421311844 210706088 132936193 595221114 237682490 770077388 946414188 349200583 969057128 557978653 185091185 140247851 478454629 686364674 192727419 621462639 433893662 192973210 418992694 688797954 466534466 824381277 645968300 379404268 627837623 659054246 380412755 150173434 317922508 789459705 903012149 589385711 408579539 596664944 140102691 742800748 577370107 496382162 500122767 429279256 661874931 349331446 756372456 825283962 372674178 921890685 855364582 308104825 487706072 158732989 228550264 807996028 667799255 895657321 772583363 658332005 433825009 252454618 498319101 899296950 754924388 346989452 667678290 769072057 314238819 341631925 891845485 401948680 838429829 270307769 195992667 773769035 337219498 637431746 165456032 460134630 226284714 859622737 726143123 370895129 142892302 954785951 304860501 178168954 311098228 869089153 230950551 260093279 801672993 629044398 437024558 840962262 230251319 694200072 224824181 169517644 932575283 533546639 271839674 463896384 910534164 794555748 731602865 270909537 682466606 442628365 360611446 488501769 257911714 132278388 853093420 172431818 432803377 492606801 148224658 764886374 531669964 931139405 334475871 569498641 929457926 560933468 126818805 269030415 947740898 811719512 622006386 375399223 567388235 693916588 511369550 953356002 420810890 987376871 467147727 579899531 648127039 326840566 529407935 707535545 532683619 256328832 285953745 803219707 367498479 551421637 395028047 328541019 170916364 454231485 744837243 398199577 982937702 424250426 706134355 872269520 373958719 528452335 722535619 520576974 939531789 809997164 886276855 638252950 448368433 195343857 317125434 730085103 558736132 947315980 949437724 975056995 304991852 927917151 119704917 662075099 887490947 331806124 741992349 707101215 594343147 241005875 960681236 974300327 763465268 772290402 705305394 353783287 578343534 688068116 429369610 200459373 201165578 554026759 281686484 383148063 429878037 366741023 625600756 977760368 427725854 471426928 474115889 400831340 475021449 528213275 426612528 838406618 892510531 183923117 553525961 471851367 261028013 462493566 744500275 215544059 564132385 565998058 559671699 835466408 763833403 835989239 437021562 411308000 667733169 308373203 342834638 718259635 966788239 276303763 801707949 289531280 591997986 137739249 752857991 878227914 198560303 971382842 971466697 181828490 199456373 602585075 293763538 104762349 402303043 890782412 826876387 463116005 770633910 798268220 831320959 901493576 197771153 930868911 363939046 226547719 754344454 118517933 422318716 247142281 712256111 539695604 590607056 809531165 336135386 268530431 739388452 754160075 592376982 259543005 788192446 383615663 197946834 169010411 338599648 724761983 100661539 737916794 597680559 309840025 394526205 310433818 816334250 444239084 185546718 516785602 611024552 890328217 479037712 215924236 502308607 380031144 555099545 465788908 291987325 659462041 757897662 574672905 579244765 193695912 280461493 979855824 747794229 990885226 450113522 745159672 856099173 719362142 904018788 835105546 477742547 447223136 711321233 600365328 678594630 617803841 243665632 384743370 381194457 561260239 859626575 920145951 773517364 453587014 719171599 933535284 716274781 682547967 494810114 746397336 284059468 989156758 561796459 933217458 345480612 766718130 401206145 449994623 819733524 296918506 843777497 890227922 936039502 612580356 183607485 438132983 528316259 580104808 326195624 761166990 570473511 808731658 461153385 255559935 267128506 432043428 907355884 787262478 294173283 378079096 257085471 591548142 669840332 504946457 983762275 274367744 964679159 302062429 933643276 774294658 203162934 890716448 150291123 919369457 738480425 946548913 359708135 912089695 996563557 922341543 653266968 393462750 923231650 235687142 422206192 363190787 872548469 812956741 147859307 466671013 694189835 101173709 193371440 992220889 223841938 713392820 882743885 332792175 313008299 916565557 658966263 641091523 788789369 766662623 899546174 869448378 372882025 761591113 418834163 991451660 461075549 543659576 269993526 608944075 500769973 372189705 772902089 629786917 570436972 730354068 397120065 280376231 837180909 143065540 455071252 982930079 140190846 993079947 421481260 672236067 210729529 207984713 643694593 560021167 118724336 261873596 534860785 738062031 182206154 302163568 761156988 415020634 466905135 831016094 736290816 523753996 386158408 957966145 202291597 555077123 833083146 211636168 645766655 246796068 373544023 255303115 955479108 437514856 190964157 330563793 345600026 675551852 865877882 527506206 112825121 319856073 419265648 723389409 726010142 471398638 324836679 426416839 753886808 928528940 540975455 413263594 776457870 188594009 454822533 627804524 844943202 105283980 752752600 358216872 147138305 320021038 415239888 465238610 275188121 144552284 471153860 746622555 570185958 963125857 876986521 261352940 732671249 430513503 325875964 349040394 404820619 201836874 985308403 852791058 709600934 781570422 524363962 470485585 229459868 113470903 388620939 551837098 665025247 599785014 795145147 950098027 382533429 901231993 580410036 146823619 640630371 995842437 620521375 766950249 125424464 587818444 606737319 635097450 228357209 768292599 761539449 333571138 655694006 105246555 254365372 871562417 650928442 562944605 905132897 808283134 886543223 841443169 589071406 477123315 625037832 745221483 144840848 146711810 333544526 300624784 287792326 631414704 271747357 625390156 350709258 470538791 954066229 143297939 514532305 189887279 718186894 577970350 266423623 870348691 196191259 895472540 159892689 404258739 479261977 627057668 688497346 363557756 396850570 332180942 889150069 498201052 511780394 206235705 246314639 787942880 522071037 621663636 414158513 446372053 582939084 397064420 998494560 244824555 114427340 723302919 441312722 867353414 390050741 659879770 398645050 355224005 405917036 692903389 281378060 408593860 659922641 756054165 192525395 124164407 754359368 646226724 678484372 839757010 931826538 557055656 550584933 584179028 217955268 143585532 260811687 954958226 628833155 806826616 699818915 760436553 682061915 609495900 156546992 194798014 726078547 755705171 760899325 335535383 167568008 613196326 871980742 330472802 418789857 472599768 556611632 352547011 384845955 958402175 311322089 321696349 101436929 375117638 653096894 212650016 506536471 454500775 163728611 553849410 715371332 171914429 484506139 101152017 802085743 631451867 775202255 834801823 365527617 746074647 147723698 864745891 372932045 659806884 424567363 960555301 263144114 626073470 398871856 780954138 642862131 706014143 645996673 446917857 827285405 579830946 601589272 181865811 871051161 606732977 722827357 533990728 671468413 797392269 522374257 541775933 593127098 545172776 290360438 965728595 798413604 894469670 379437970 779364859 138800420 125156966 259233520 181200829 416280307 579361058 104835143 989331266 449951522 971239489 959929835 621017141 687885837 256845683 506912773 698961713 731892308 694110935 147410656 561008521 214732346 282012668 355182900 877270895 200753454 538918839 955310238 432535058 702409387 605282127 943271337 533803874 160162725 969169432 435881162 902452408 644907712 124140500 989422378 528077688 200865851 171593632 410430290 316001319 388328973 275062575 965590757 933310865 231764173 668150020 593220760 288016755 463556332 246406401 797755746 849483821 275155683 144574309 791027072 154439741 769426676 101849819 356773300 710249041 295196597 304611798 589412244 317145681 390310012 915724316 841169659 445162794 467278576 473714183 177138074 528773985 920752744 245824972 519063332 747814703 329575054 322754434 743837994 172083993 563957676 391648660 608332843 555795581 584241044 867162412 687193344 900070752 282471795 567037688 758065047 220943038 407571487 987974438 198491634 703188287 263171340 773596233 313577363 604576498 785072885 249703599 814758720 782833376 423008739 951196635 993723865 878439315 872395364 170863177 640047875 411477111 450517076 775121223 250911280 818010741 885458946 523752352 835667662 127708535 405751133 445710613 131743206 156839155 917689321 138940171 954489833 645296718 253402908 817079289 980224693 409238537 569223813 216148417 435419837 251877774 311968130 814322223 857031724 932931949 143983932 447659114 106982939 182231673 514404365 111341160 517925456 208859825 850583371 676006104 285384996 112861095 230128119 619440549 563076537 524762906 436923710 547563150 996496811 131516738 486663601 647221552 286583297 190732552 346075851 479947597 691950951 202967910 198373659 656044604 944030056 699827394 810856311 171812037 483040972 570390373 334748283 407489274 330194386 446501503 389445117 381151692 825049926 579444897 962125609 997711341 348362674 953049876 124996384 197191770 320598467 690407775 699207558 832863362 947771183 990751156 579493034 216490364 314219469 165875629 743452377 705177610 400638596 264163979 394772057 582015346 827344884 138841715 544384031 224326525 216962620 266768122 148348122 763688580 672539518 606126189 746076047 112030456 846846621 317816196 653686418 281363568 886174107 318585313 383989949 896829534 854999892 281851984 301135690 746506528 390032829 733606938 853564737 195833902 389214881 677807667 951376979 795851417 959829429 178863570 802310440 361323338 481721657 212186291 166375640 960502512 241295893 495485391 844959794 386554087 112732850 261416329 801059645 375952156 850785334 443517719 981438408 344536459 523727559 223290337 740163354 974708883 565796621 294144034 885664519 528096880 936530370 744146080 486881729 991317890 296242311 976612458 441584875 821882499 705136214 356173518 437751872 595325429 735964367 731134387 558348307 539609261 623519657 326123930 884532737 661067394 414080179 912286872 472377707 622365735 870636073 110868416 132554946 812763637 529794414 261990325 962904487 688134406 684698093 312373580 889408819 602124561 228941463 429787535 949190804 780615812 541133947 861889976 991033507 794757122 521064214 740645651 531160527 741499016 603425733 729850784 319801604 578508463 938310097 815226378 817326416 494320169 461811562 988576648 610477958 985358877 608539400 142486395 347899204 564778891 513159508 630087679 654633565 615143518 422737544 864895864 893352971 129539238 960819633 843565460 410760781 526293622 220556448 497237684 794015086 870281243 286271870 372762773 927638861 798653650 534873447 946387307 647842186 704227555 174596000 629088065 837221072 883820135 867906873 272217884 911833766 628930459 354687958 814688773 362774883 496251682 821303659 592276707 979344488 281404236 419571189 547482833 796490759 258917003 759727026 768431738 402255004 470776408 107087277 950228620 953187294 517349353 115854470 992351720 291823345 464839777 524012843 268185495 152372025 900096918 189704430 792670639 679010246 372169225 432168879 352096651 683756001 182022006 857667092 975317903 767185486 101243659 608364244 929982513 894918068 820528378 705088352 435113569 576327331 819209270 316144083 491533465 547998054 262434801 835998624 751511512 430827782 782806776 895248100 142716081 945908844 107443180 392962721 513147105 100262913 878847563 738925409 140609005 866638345 846276580 237833157 484277603 687116472 720871586 613358285 960478101 635645996 119002256 465175094 971212145 736124535 594659692 257466385 539554882 239346439 908805674 305469783 395063371 319516104 279972757 590556207 703685071 999071225 382060238 780281967 795589972 241319162 802685857 328957029 516782334 208628085 778159590 228768427 938812575 364607885 953330244 524681357 565057633 607498547 120476614 571909915 893406538 805309455 696409131 222300697 263110342 916477069 234916496 485705482 465707899 428598634 889256971 188107204 362651738 656550412 616351179 295554219 827636036 478623744 119083334 535293278 532241218 815893157 775478001 914483347 942018506 341315056 155582843 200322687 434083035 113696127 419730764 938383096 908607528 927482085 389402188 245100800 920709384 279816260 125123828 728163379 587868587 563552332 823621978 522641670 973147024 525896351 656388138 937735957 981827403 987350307 967587928 143133415 785318168 609422781 103746741 583289225 295793913 638071236 479292541 135659293 911534633 955478512 790934195 297955750 102446269 598367717 659199733 466337385 487272968 640359112 956734309 137602556 624128415 153687891 609561081 935355544 961522440 738816424 521025141 749215481 411550716 259357308 423611705 697785320 808377209 390428307 476010645 498153262 750427469 230099286 473050702 314628162 439840425 610165877 375400763 476411345 757662710 898661242 686533648 538897715 657044255 588663309 823681231 760054015 617269100 857669903 719635068 853828826 781203309 660298620 971562484 597388404 767608999 203919998 276955416 792875847 525443000 960574628 805277545 272787047 316032259 221971489 513473919 818788293 400373408 926471202 308376545 924823644 798779771 327041021 668134055 192097824 876066900 805127349 437567653 901910660 492827801 984359585 937358452 620577015 758707863 102238202 157126181 995222162 169723568 591298768 493807913 804655824 662310274 567599579 578858606 236519987 496308755 200412206 438354766 261017067 697439443 284287200 475772051 717697492 810940665 399962923 662190869 137256463 852506217 172699340 224976874 623756222 472420009 141772596 175364325 941159531 895949372 711227499 249929115 337088220 245614404 970946943 742942752 181036136 682939059 531780628 568261563 241032952 515426601 345689208 618846208 539938735 484402697 405446250 128506977 438164704 253937931 239407251 824728053 243773557 306980123 281773112 610241438 685345032 715078025 813730461 239564367 424797420 901883349 396931284 474726634 105331530 867201038 203012859 447302796 319607713 473951682 758980339 494191869 446188261 153366972 331235237 198093962 806571545 758564651 569038671 926898812 529206454 375192316 319968009 432933479 184239590 418458666 846826661 236437250 456529911 609617291 780478853 632941799 388290472 813837450 887302635 615361339 268595586 518022439 545148856 940365641 736574207 768584885 851189205 119346954 363893645 339476762 913007145 426191086 679220799 579879143 140402124 447220355 642417639 724607536 873976149 848697578 311617134 765355271 757338867 285382399 848723210 685052381 900066956 572416168 167918569 600442328 420903632 969454297 156893573 802650351 763533109 327444232 798275040 321570310 124254422 922379725 110282669 569160004 557823808 182886493 748109462 251558982 388241765 473760397 813289746 243111843 539414554 504713392 309454996 433819620 371642083 851712878 984637815 941224153 102178191 715144819 463692528 801612466 847864481 596037216 418524064 461404401 613820186 374249395 499357781 412883719 986647083 134507302 208491299 288192368 348926456 219949935 659249234 348030680 957910445 549572543 253368237 110463570 519674861 612206531 637249480 508429765 760428462 621794005 200377660 596068713 747001060 964119702 113648808 814001218 523406772 139598510 948645231 718547204 637790997 870845476 575749750 659855287 203687881 298304340 124914463 901625359 915142315 368333494 477606935 938180418 214894961 707694494 625507988 779535952 695040915 700915129 826024968 402993514 938209183 833424257 409697137 183393295 419508758 202632907 146264414 765861206 119594255 631595383 773632279 246977166 625375065 717557843 942918121 306546932 243740374 241164733 921583487 196084283 806974913 520870298 476035718 318790380 340128458 779257524 841889101 621368157 411915609 397726609 389569289 286442076 819640719 744331870 335184779 648848298 576263751 580468865 940379709 652521677 652605162 850554567 145625252 494713356 178726548 871452727 496775256 537065170 461464453 167045712 202560121 997519642 892018666 954184738 887550313 743920499 187471733 477410528 409004029 323871755 681861251 157794778 616560989 981533841 872639424 747310530 705096621 675665841 266484953 967020819 944285712 777123002 122401035 365846929 801274035 155823577 991622821 466747444 577551251 448637753 191681667 400836365 255799670 755898452 138082742 820254039 921045797 367307136 645276578 746140061 962903214 267427394 782892655 258624128 598050508 143452787 961189063 647955662 866687236 891899784 630758780 825793587 627537721 694258089 319042495 852421782 840362303 372848768 859383259 824858716 724955997 824592799 363174349 218506663 939080461 315775570 676408542 990450167 901506575 941099681 112894853 139887909 963029383 769711375 813151079 538974148 966461225 262342418 275946878 662800640 347365237 679065308 810461519 512886481 107353514 662673662 387970504 149652173 608236170 348441626 146201558 217829080 688171826 459862862 517087737 454999846 443998644 391645834 868869712 768811627 116747123 525685299 549798727 845306232 800298799 947019925 671617589 561921647 206869444 249691393 439067647 780375557 952576798 598029866 332197976 257354496 615597152 684704692 624255866 892469375 982592202 330315204 515167919 995851024 924453221 139246674 159411386 259617042 794241286 795876028 973944144 232954013 141419779 287322466 367636768 351159111 295242037 919937169 519995682 904541054 501764381 502883985 751487265 909321119 338927921 696827042 395845834 460794293 893356912 220193902 223608086 537911579 698069083 830291926 161951793 167692875 588916566 827711695 232462886 579472347 887548971 108674918 572826592 298117796 129776099 396276278 247157084 347946007 326565465 812166559 163352590 448884790 984967502 334601901 769075069 776300396 436505272 260984806 751628531 402940997 405224319 214658224 376974274 407947824 823795944 723624075 199080800 847627539 544031004 456066237 829485291 856718507 161038121 711407331 112515320 936046672 280762036 984162881 201170225 390492411 111915699 930309069 214379584 161947561 637168483 606352758 606856619 251981033 567741720 745399857 864952296 792783821 357932559 804345445 986246985 835808123 810869382 450090677 169842038 433957029 612976660 360009713 602086027 243445429 867566840 363974572 466804283 977717627 222714739 755281552 500057843 279343822 629030696 308437887 432945889 587849286 752287661 880380428 753947788 538155349 639092025 410670816 796134055 524562011 607225114 548607642 451175383 907981661 390382015 257985622 990675313 387661984 163899901 438739868 819025643 580254937 481867281 221406365 915047621 338454559 349364541 118346694 906396074 298120800 220564686 665744936 461642628 915356277 537218973 727204237 428176680 925820154 478926150 901890962 595129945 278481327 202483445 541991402 762564569 524541990 823277197 837788488 500752304 940396221 967201204 961429080 272553645 945285167 144337559 656230881 362064449 667953571 576192237 442809519 952415300 902323331 269495995 193378078 422320556 518534538 120831755 618616711 827449255 163745407 128002386 909795574 713038865 653447803 355612154 731441057 865126267 330254082 676245879 689736807 823397559 277065882 583620557 429661743 844884981 676976638 873309891 407640603 584329418 761024696 806322552 735535020 235464931 184227106 876410748 854350157 864453939 637844541 339441287 687550717 964966636 696772604 463841932 435182770 403765055 264330902 401967343 250520592 476290584 857523204 892537881 293551582 299743812 631757733 839754811 168463050 120771141 873872632 817428026 260424715 969282101 695650414 462820940 669205596 893194979 303850925 242321079 753277227 637240973 419215126 591454368 158683840 554716626 802186331 108578337 982257952 421626079 471942769 958350641 678879410 360324672 581462952 722913787 460562029 617955873 921094285 539826726 726343016 805927753 799532618 617516242 460807365 951003247 750661451 992570540 766785246 808260523 626788066 560221249 740217238 274399183 411062137 205463542 974179643 595915047 820701741 543715557 631218705 603987637 904361862 329680827 379506085 388930690 370631359 183214814 127392070 269394463 392113193 148513218 511592199 250397329 383912022 848065632 828330821 757732852 783330724 700946641 825616726 923837015 815638246 675496819 139697704 813184245 142897753 739460820 569658471 296103892 109835605 202430374 663320021 530888070 443097719 491048340 476845072 290228348 401388369 993900228 653451521 101523748 963786444 727528553 428479911 920157954 391844133 186513492 907371588 217654934 259492244 976173885 422465463 859592725 348811236 768141581 843663242 284944318 247485237 867483349 334818280 419537979 571063637 332002518 139694462 117012357 626185124 171878382 312279934 669817434 477233123 893425899 107688510 677107039 480281856 947168940 341368509 445245318 103840148 890784295 570061211 755262795 403593839 328307208 178704108 124826359 423226789 485625512 239777006 397008547 494558156 964931566 976585508 282741878 112431227 511729526 260920116 574348477 504556877 264351527 905572530 670552013 129265875 742480696 455189529 867824879 192017710 615108507 941179907 116552372 308631551 957301100 978316709 749471727 122957617 908107436 173044189 258123154 164577362 707735385 591548296 520863721 794745650 571154386 588698241 315716501 244788291 614531128 615993902 309266170 960208658 485856600 873116433 821620500 363343847 684283447 107877162 817400384 442673311 987971328 732395226 976213890 136674931 961296718 670837515 194306426 945112247 266225124 394000213 701710713 448634362 487130454 689519345 427922661 740979390 917029886 289244662 206720044 946678195 314072466 404669718 546014703 241615236 417258135 910709514 690056313 999324905 198420178 315416614 242905076 769648211 802028748 603351458 484559262 686443425 827645058 841813435 536156631 801719693 673655543 213462720 156662129 246811876 749484085 795338234 604865278 679944399 720124420 631333612 843693149 739992868 942062002 922486437 205527526 243589892 202579072 188545174 279518291 508983731 901474802 605022298 602190691 903793221 211935810 291208914 556994004 264067307 418090679 791113237 303719895 243022148 237806839 703107703 860283680 753231868 258853585 870437170 185854149 630977493 718409079 685622634 603607987 123939251 616708123 108718476 718926676 631055816 768240443 955318319 767429455 858287359 948915259 539790420 983927032 310203364 129969477 372728133 735259020 207347243 589637047 475828211 717438664 774473537 293961325 480805261 276242132 151244464 996488444 401177115 436953094 128424918 150769579 926129769 596647933 566518771 880235622 423993418 428736462 699877754 870039296 477407901 263046860 192229733 921352309 634544593 914569220 172501359 594557038 741680426 936278885 554111230 186459384 974832654 512508973 278596838 789146545 742952875 793662663 163001673 892074264 721290804 723921110 383180142 978656445 423275914 987654273 469515757 569981657 118822297 893901846 126999521 526760274 548365010 353562710 891479145 720289897 731544730 656182774 362624264 906061011 342640967 272645136 808767711 292057664 707376656 853600146 219041657 432132323 238048451 581201481 612048028 303743558 229993812 899008627 748725135 215442089 909915178 819448797 193725980 945497411 682500865 241401271 664647869 654333611 332778722 376446613 663348564 642317679 550458555 118039299 541030812 260804826 625137164 766263025 978564906 943677987 652656988 294017671 761615817 432312239 818328709 954744938 884960567 321401627 364926211 303631013 767121145 865546809 139453052 607116117 990196013 403359033 750421657 471991275 953617018 847495598 129644079 860164581 785345796 637254742 495092478 796659464 565646663 739185671 525490637 840440418 194023824 732137620 794820614 155920170 657862701 589657567 825785328 969842456 151676962 316469040 929503328 571787476 874585416 449866214 530642870 228752329 286293159 696958410 387477974 836256631 981417843 920980143 267003925 582947691 287558301 971173643 458794957 704507664 382732553 752896932 739993356 496781064 457541205 193361034 832398096 949148549 549792159 659964843 659727180 219673954 522829029 863481616 738316171 502188914 672340731 679023128 649664961 940327049 418945670 931909499 479075277 157830767 639376886 512036306 916469696 417019266 153187165 915843450 290853641 796838234 716901267 161281068 980760355 780907401 349926955 638051798 934198255 527005647 402681867 154049512 478620843 130137804 556175279 958012631 855373341 679806806 912366068 788134197 287873873 148956269 643498530 913757154 533939762 993522065 309080430 911205039 464977902 978024350 117232597 202514092 875909472 910482960 274329397 111617992 601987473 422124002 651465870 771944955 313862015 814047750 367545717 593376964 471959306 633480430 599562536 110731579 880588841 354657788 120574081 318547810 159424554 447168999 266604269 140728444 238276771 935577707 483041995 621820532 432065437 645994705 934453970 350141167 589185337 287565939 780446384 373330582 590728253 233643111 704263754 724276367 342696251 828115176 636443694 497189906 847353757 456350706 138069056 240988558 383340685 227674686 309349324 389042241 779745805 653606181 798516406 260204845 526426906 624614242 116643684 381824608 430734917 790019008 911804377 150469608 378555193 943761120 787075912 719682425 369468042 505374327 879052418 694778030 277353863 390271137 773928285 980401928 492364298 265511504 674949622 386697386 388609309 672507286 657288077 390006656 467472932 274828556 978569855 549606266 540084569 404109887 280579325 450809296 312271216 557809041 584078402 469991886 956204251 517996417 791097180 456978052 193136155 151023897 673590479 198869555 317235761 511253973 926611089 756648723 966973853 761752521 365581891 587028849 892683531 193475300 898851219 958846249 603893435 948293780 535638435 465076018 989991726 249258934 679845043 657820486 161232702 107680785 934379913 402834571 798972188 919377870 597394990 642315371 746619830 983031767 978265803 147504762 233373512 147059788 290287081 643492551 122779522 711606760 386444713 388563159 621757735 179566239 400273911 869579425 569005558 208470757 395385803 562975919 156665306 330803237 525210173 648865076 965780714 509388584 213207463 325421306 834531737 623013859 480160370 187594924 565038583 567081267 655568032 536653969 971098263 317968621 690408032 184878064 395117086 155258424 811604349 634817775 912436311 997267949 339879281 997728630 943226489 663942655 763231474 363042639 187347359 252749480 123114650 132336937 675917308 213336055 866609825 824545225 879715382 982813361 264868430 140796176 881657308 462910260 686663249 152663521 156514356 931652639 787190253 898976125 304399728 994444923 635295330 872050460 113668987 741811954 549485379 861070353 127903896 477793639 188164109 102357249 845202805 648774603 304500560 709147746 437383223 492497646 353370034 179949983 383300917 716518527 111611177 218703118 927580901 601329355 119844534 224131443 177036575 539709454 389460241 461104187 787401132 902266115 946405836 451230209 778523241 212252848 104434874 296215376 274188531 732368272 724374152 354310258 282209111 937795709 456173766 602605929 983922029 525525111 164620025 106774077 855852124 929294582 872316096 210312250 468875712 639305447 634582441 182000025 641743656 396448179 824461408 808930771 467949062 589054124 816932658 409402989 490556951 373503295 118881914 195805979 444633145 689876821 223783461 358233342 432922201 104074803 893073101 850187186 691059007 234462088 664286871 855131352 754667357 144128838 770947613 517999581 734881034 664144334 594182530 568692618 667773959 326690719 717196992 253690733 713820902 199739485 965298091 534432859 548978702 779462302 495111260 512637415 501354536 236951762 219388172 190969657 489366969 102012728 247369472 918342739 912080297 194216674 449417969 275440673 102828569 158748203 806092117 409398966 463494604 146672893 577361403 295174370 273153431 774841802 189706811 262127554 470207415 745218231 164110005 418826479 838036625 918849033 991283911 935636879 711446947 800784431 921618487 474096549 524173718 975789336 789959079 463148386 584139715 708581448 371222685 850203545 220270003 898149876 319569476 916029243 339998407 147323056 436663184 178383913 119099456 721914296 196218865 898730591 568936227 105576464 425987260 878453625 231583302 852226655 207986055 746689759 991329633 936221391 208715084 178069795 461261697 816485356 178851953 384370851 125178780 277919850 914802142 133721333 745105405 670316290 454350423 949772059 256616583 405368672 587773028 728839756 545388680 237730592 369721305 255349419 602646148 842429688 148926420 455873054 341131219 514398502 172275384 477590840 399340323 367890352 597853324 781674763 818380135 720504344 388075569 451990937 381398280 585977859 715884382 704829457 645391608 461762006 317409132 308532568 890499824 786096879 661797824 338570601 588323039 791335821 112922737 472474537 361928706 131617389 531220353 671250124 661505058 529821184 711410103 102171570 546056386 397876268 766541618 133630788 838156852 601328111 966478201 588886735 877681353 104423347 718145137 485281212 866345526 307243713 738466327 209017944 215611225 655296241 413884820 973305559 375387024 459384752 997528960 679742842 333086637 270859061 762468725 821475675 261159670 242819321 569469179 304896074 607745359 828819484 613652789 771708610 998541680 942080238 494927427 957499381 427557899 286269855 500734637 444011604 311562081 692618018 570349010 494676263 556749699 222974799 396458886 562682659 867551531 444342238 884673279 996261775 813243215 106689847 974650775 629082798 912285360 562468675 941922754 491539861 370812009 612302393 777369132 757968643 259778926 317795813 566868341 645969578 275042151 974246103 992959028 647341453 820776850 515688586 668690132 665819993 943975679 314716866 479907397 796845025 992812383 679738767 999002278 397104066 387144178 516504126 928829340 194868783 258716821 299844439 373224621 446994189 259620757 928133114 246989740 572265974 623221662 137570129 926871119 362590574 618492653 739963028 886359650 209361316 233707673 538287955 834550844 796804576 622066396 638286419 535434034 397145297 129105252 277840923 392499150 464407861 888010342 897884513 768501818 156527900 574655285 902390059 648842780 412195716 989805593 138213740 618005897 841729700 868643026 427193494 983386333 519190179 524631256 114791824 449743859 309938502 835243366 382326207 620109431 790589219 139543802 695694460 771667513 237179117 739423576 154311539 567793486 976280495 606913450 548367247 742458369 824972664 869008977 351630090 209851392 820597464 180268143 201779217 835406699 298213228 368105536 879087152 721680086 751573001 921757957 993353124 879247789 503636761 113426896 656736663 325540295 716495209 444035291 448976688 584564613 201145941 511717285 574677604 362187501 185539326 467901192 293453478 420803576 105736804 134875570 923905121 729791154 197983822 714175321 121577853 278923264 797259319 665534922 865960073 335617089 843989860 476540081 996968963 880416390 147439307 590748525 282617747 740281252 832192766 156652389 633086582 649827602 739707219 876534917 525110514 982134311 241089971 477806279 262544502 316334750 927985634 847270545 121833682 901442686 354373373 106766079 583547507 722258214 187616638 377348034 554690186 216158492 706563840 531041603 462780083 739222762 583679257 987511092 648795542 587684066 122562421 376690662 179033714 965873189 619062886 231097983 167856328 199707252 703896941 744288150 829396146 108350813 776333829 972652745 834221459 286522506 431882785 323809200 220749256 977996149 589871080 997262283 966899567 721505265 666010643 514015055 246356495 648716338 126675245 757429633 213381496 536811730 997344057 105509765 794579736 455112810 334968486 882832857 401124889 199898101 204793390 786483448 203878361 711980006 249325818 424390215 286927793 297773119 235411408 798534580 861252262 125434318 509776800 815951313 454807565 102072174 980294450 153493533 421705925 480391607 513464761 730793773 463165134 639678606 907489763 620310865 449770046 675899611 834270435 176199657 955607463 125834087 425572204 105098319 415068969 575722161 806800589 871980988 443485455 836315371 182783361 479184196 133908503 135012864 774248176 852121055 180456929 463597617 353785580 440410550 893124065 621727454 479648118 684991528 362843824 542698303 607135024 884819926 548390083 413017075 983556704 878109828 773393627 971918868 561479047 994538794 803462140 132923771 729475133 546496601 520289303 346574145 923465351 448697917 428204419 956887394 607837872 249379543 988435583 171637346 864259974 160973473 102613413 490195228 787236435 128759094 493558421 627377141 413766057 759873476 522359852 439226857 906239103 896169502 597078528 661900826 628193235 803287065 707094002 644265241 307019816 398927420 555817232 343914710 339484734 379575369 755943814 210955986 300549064 684804442 590539720 239810423 763784439 418819150 801022975 351770313 991533255 667223052 633045520 426445333 804693722 266053008 641550527 222756905 295772107 794742220 712625074 937430226 346075627 366988427 289052134 468263714 923631102 872774879 122365523 954497712 564496746 466004844 320716034 241682709 418816232 232063803 629954699 162211003 680103701 738670992 719412398 733837137 375217792 601697165 614752825 799851468 236510300 255112139 736518502 993155766 975942466 455454822 709477502 982247621 347176936 383199454 146486531 415350279 694954095 858566639 187482568 314620627 625789952 463178147 454387897 262004516 367458950 998323121 868672650 484277970 394640304 630757120 771213659 664557800 250527578 625746570 563800090 970575637 413645347 190463645 879228804 878250717 277711364 326210933 932663264 526565355 946665688 338616499 233812622 920329020 521458170 345392795 206299614 501610415 357971361 308251026 256779873 379061577 219690451 248961138 736126345 808741128 352045714 435178011 412704063 818351030 787483266 807131933 977427882 423132436 808648191 525540702 227122535 255253360 794820732 668876920 213436567 151950872 223847254 516020977 780684580 866984191 902851000 849908085 654347625 931263604 231775123 578963124 130955464 395464829 320158811 173570096 282104085 318119968 498664782 335925504 219278142 814649736 267224089 133474481 364411839 831319528 517125558 790896014 504566524 548935980 312963343 465656020 515998165 261582322 829646511 367627965 473312659 990807595 291903068 228332650 203587344 638761255 153752571 137106926 705044742 701376728 712200993 279272733 508384086 336101726 477338123 938999495 963673812 330329700 106025690 946151282 622058119 364785203 640040602 925689281 248921616 108726396 689826431 262944152 838668869 557590635 199823965 808036432 460791696 668681563 246845179 377913030 529236891 187277537 661431356 231339034 855566944 227630419 640157799 524902252 736720054 852318331 561238140 202628141 437610705 529865948 492711723 977474235 347699591 582274220 549541665 901594687 964827931 820879394 850135897 463708987 614489232 169052615 798889933 182617184 339549793 693311438 599088539 421858016 827266047 629966414 464791682 883288454 293199330 632051546 917338482 326385600 656776255 336806067 320376506 590669911 136251599 844910157 398299787 231781089 983117351 332813259 939064203 748053097 112912502 204123011 329645233 646531611 489086263 728229948 123604651 942188990 512004757 577280449 816513407 273093504 330186202 279034776 220945201 457417105 885274060 320757146 267771633 951764825 475085327 845100589 841068294 672565471 468949603 433817557 594861588 418030631 238856850 149306159 751176071 211857396 811369773 262119076 796169009 232472651 117864406 271021060 581018353 355221012 376394896 665465674 213828531 821576040 224894045 370384162 361616201 991696258 104039881 589532485 746597232 400967922 583563076 420253474 990538103 862367839 885972106 308519570 746939396 554155870 130862180 540479680 573799555 900257333 602160712 674525680 629249638 308697760 118636660 412751240 951637645 826700240 357195428 940994273 601487907 678742558 801412278 735061571 394984883 523275728 871568048 569567265 340730133 424890670 354209555 264178176 697225584 534241296 131887319 398357184 506345731 316658718 625748769 504160680 287461257 222692214 356899776 632780189 452359355 477114265 539345538 620805932 974499144 995962028 483304467 863648715 898427894 127871458 803307237 204988571 414140783 166455542 552205316 134706560 941857396 156320282 588596093 276896394 489025461 319605853 611823658 741275735 803607250 935723489 325109718 551418987 540180730 581567809 922097485 206679789 901398499 959068373 126618028 581081662 823056302 848246629 992846997 900260326 858852291 675565904 558576973 661903608 434603909 259311693 821917164 211509174 761573157 985624232 742036393 971698502 414680459 844767842 326626813 636390310 529190835 132745301 476285778 592402838 769107930 834945609 984336806 410055972 735940921 502096130 969426094 635318324 796111466 591950006 935798170 655327291 149291602 507973328 161090847 905107622 303980711 635809369 609587991 723728386 214790778 446684294 901789915 474056187 124660672 246992662 755419812 269683260 469515626 849192642 505895705 711158230 751450867 677980542 717893417 385207722 342611840 496210580 301390683 663097118 447582610 542262304 400918965 408818592 393662211 841819847 737532292 323291714 996746383 416620025 414036389 713261447 430948081 238328641 422024625 197624282 938299764 313337933 378316989 745712528 511064454 728703918 468589710 377453641 771380004 739736127 365736454 161165610 314557601 647003144 711070002 993183566 762265206 797692430 705936385 939758451 318505375 214378820 414089687 690200829 581360964 507223881 629391492 520585533 293327660 860665038 601670976 326952206 882034980 227371380 669498362 362433693 364751074 616479993 335634848 342555934 632650457 190611463 391455248 681939465 817970551 609307098 359433715 313066679 177157550 207782670 795762759 591194659 639133799 417029462 703180552 353084058 987510412 627508758 711332270 104604161 177327036 786113777 381401178 649571825 212728874 302522386 874557158 568520738 909943865 866993182 303334725 809967685 213861588 129817196 702522591 787667812 649149772 107594188 679260067 241520205 660254502 610851506 319578668 324428171 963406401 772881788 617437652 641178272 337544860 412527607 788191477 845968500 412664315 327937990 874187954 107786408 288106425 979199030 301994799 736286726 739412783 423176894 829286957 587011769 458947524 699037772 430040040 525012901 127714028 232884618 538730196 718737195 164823574 204085907 521641858 500182626 318962275 933105410 146717174 870459102 578041831 858398027 819784551 652551893 224402852 197281522 998338494 411730726 760606734 265550023 177361117 329042561 990533138 929616222 171071187 395104132 320093134 190010808 979265074 362812882 497055520 408033773 952093227 185924802 948155566 103316345 943184300 796878738 722869571 489756018 790691145 364091343 818278052 463016687 899551212 218579854 952041243 995759709 693304482 431870562 297797836 707794192 541306566 468635555 915046681 190781028 891861400 518583861 158639367 322987822 555377007 761389428 106384338 147412398 354850522 318831879 982026176 586044189 613193673 584393435 348018055 518323772 190910618 966519133 523010901 145171289 287117754 874295912 244894201 435267450 370945532 454325328 299912041 802687518 843634707 908943957 575385825 981838852 437097417 798784757 503923084 641870496 146201249 914189181 436695171 880407132 504005969 215829795 925703367 327156230 753064950 324481602 326893885 651401176 887458583 831342404 954780374 614348175 813093666 285802155 565635534 467799798 979809568 476399445 176069431 779120596 263486106 741820463 172549047 954659549 708698400 454525886 693717829 669409220 245697026 101167528 379358437 107592494 524157038 424129133 775567579 335716820 688715261 522503027 895463654 553705908 343979582 989663802 528008247 458445470 946136649 639227811 456209001 647522546 845881946 334086379 555954769 588077160 987466973 373718092 363004826 837360220 192510325 253297805 727215229 792301380 762571419 857971276 733792101 798618988 501886632 985597992 385791158 800021580 410567850 235155044 727971137 859793515 150075893 953888989 265195618 373246970 329946343 636263315 445677764 858591970 643101104 280124217 265314762 339663390 836068321 523846476 947031620 954582255 845716253 863573383 237286033 446935544 647696722 180098398 444167118 748412518 597827752 548229952 114827220 460444217 233061659 577631337 657935993 543221798 368468842 593384452 311486631 659474470 732476706 302012532 805244107 876499180 184129999 195575853 205437866 596197791 253761380 966671835 657282277 298042566 182819578 769763873 641560155 168534563 447292632 551370152 224243641 788204396 164639488 440257274 539155009 111850888 752634430 809699217 622289691 177148859 502093946 744136256 759145236 135960960 929426669 495652389 183640105 550944889 672220821 477223746 777121906 603005233 661782867 124314323 590561661 837471448 473845945 552869257 330512071 999685617 302425547 605451476 558398620 144485278 970716504 895237090 942408115 698479207 147566017 849792495 165275230 572098683 285076719 227047194 993839692 166172976 449245531 934907741 233054167 952013578 226112321 775139372 803170064 747380936 932029197 591572204 999145582 609016451 131529062 416225971 169316843 434899485 569616816 565214241 577237977 672920517 965083417 871808381 434125108 151331656 577048892 438203413 712851384 697777406 428871252 736638983 355550848 846946490 868590400 916050190 768582180 667043318 784222466 815279513 951532779 278592856 474244993 310466544 536830816 399814144 920403755 694075308 191417116 782222217 813407968 996847266 807848234 164499837 711895930 526926553 675686116 398502127 865484432 949650988 524264480 133282000 629536703 596956062 192267044 374167852 325134478 899968020 163132068 414226006 572185119 913471560 321471701 474156574 470381863 771681240 687483853 517366221 854406598 364590699 368182036 337963212 314149030 506580207 196703917 443497497 410068280 894533027 307648966 666514646 790008103 690221998 157490294 464856070 164275021 437447847 916209074 538121792 770484639 883739283 146410381 175531872 649682049 962331945 765077581 857936323 228137338 892937863 828943557 535428975 176875784 885887854 268725192 984461064 929541785 978969216 704110495 236392151 726571800 529220297 946592582 388371716 982915742 108736774 922806680 101595805 664958377 231873054 980410438 313931641 908879497 720827625 658739455 988976322 375225096 923541215 546691285 464840482 620695759 980900248 612345894 703623653 526054147 751691394 269520423 479460882 683499803 187893233 973608719 152351197 486592347 897820944 294977312 509100031 419637627 168077756 899765108 679064212 755000617 333094552 296160544 489858089 686161664 254250439 407781479 901325875 440267732 238024655 870656946 303490753 669737227 291374727 421343284 897632402 323951889 616553344 347170535 698869738 473335481 679030953 121357416 685899706 738227685 492427559 540742847 688039877 207169702 404326828 879495319 164482754 390687585 529360000 156503354 150428516 760672926 199168050 231318008 102627532 497134252 769003342 726747932 333360753 451052607 801252706 887860848 290026845 570942783 270448043 762410669 468773339 443172552 696404142 598226940 147005619 971738089 450598612 747763949 500084363 569769452 127087570 622387428 497952232 825589812 283403186 417625895 585331145 169341145 505943337 769798394 109460367 396961486 847852608 716816921 786734631 167836457 626071543 453693442 935765064 688883637 501597276 185074118 454688410 828362932 132657491 633815514 486257201 852844922 661067474 381060793 193777521 240840444 114300452 971779715 422880028 309253478 504648511 549099838 375199400 810220247 694637403 416775680 730586357 223109591 547698762 601324938 539610388 911035081 300121179 671890015 705790350 591650018 468786994 255587183 950563188 132729380 812962591 585722754 238843799 601647513 418451014 482084527 786417758 208671311 176887231 886727092 428304044 395804418 200655932 783871205 484304865 584139812 776981802 656952310 749376253 152365944 578977896 677942534 961576564 900065526 151365674 221055412 758533129 429081438 752924474 535924257 620357729 691211823 592969843 730861244 642045564 656943702 334340734 228851790 605433801 370436311 371041952 352235580 778970557 618578603 173385932 182497007 492838578 837709626 962579313 201445836 692115436 680191878 338595288 232762134 380956608 498872830 846670269 182297419 637177693 226495105 907223352 691682403 511858559 300613079 790007658 214380648 545841985 222195959 983148502 912809664 465635524 931714702 495449280 708998913 340980631 627819333 398562516 894303433 514740100 232887334 461149597 657654900 917463347 654762181 996145031 389806030 971439054 814109162 736831437 348146461 877496142 609603339 314619212 880920429 788542960 346944158 815160269 441328699 600554755 975595197 903858501 827963888 317623445 836907157 737601911 774801504 953332205 184335490 732353003 740650253 792848494 747343634 205729462 688962250 282481148 992972141 964402828 435872622 422282031 245316957 402252853 661519168 109044762 651437711 694938440 600278269 769006045 251717008 402089244 253493360 473314739 337360276 690064283 761738868 573088442 659415959 828479034 231615692 479178937 799853749 255152660 602078281 997703621 796357869 505694496 828792026 766494393 685007022 547562143 586345102 475342589 987691879 668505420 402506384 202156575 771654028 330493539 262548086 787119955 869819799 820183022 285009131 835255948 270462645 116158020 326745254 420647323 489422055 396551478 547830437 476546568 989966276 513842852 674032553 923046518 482784077 157615716 184404612 559252370 383561550 537716265 760813670 351089897 719118931 833352295 679664679 974896655 727270954 405449083 984257880 355421911 822568266 192110446 786494444 605146903 290188358 912618838 787317788 231737935 815202396 251553369 952905460 450417500 906795201 566778241 905960884 250971131 752695644 607144071 273561923 224326207 833644996 900701104 652714369 436787374 240918894 389342484 924214745 728087893 442996963 685296937 613641729 203662674 290243518 187942539 585341270 877672004 185819276 618568163 785801287 735843667 719393015 697776701 616960588 597457874 560918341 341591947 445347621 552806797 939492919 886233185 234081196 949284744 909472716 606603653 506153863 347806914 432310510 501988681 249135797 340621521 301520078 232538558 280993595 580554914 798601819 920297007 546982838 129079412 427817406 821003373 927624267 653830292 493633969 350040101 315015080 422801140 952032821 747509324 317622253 382188035 917646509 842073098 476324643 608743230 528347386 686611097 409608746 993679332 400119259 735015881 737128722 844018308 468874169 783505196 952250003 837965444 878461622 459317073 401156842 690407401 601949192 621725039 757285265 847181204 477094940 124474885 443330453 398393362 746412143 769684131 526700644 333297680 513477287 795269562 105295833 858631020 298441688 205781793 968443843 687080647 529309910 108857277 892399563 957274506 667629713 649668297 365348775 884714186 629704835 535226390 817068725 428318095 840530344 292018096 299512497 990969188 821519322 259177132 165098363 250683595 940044254 874900204 466669296 595953197 338696804 634651890 328838540 284591037 198930481 739199489 851316290 125052714 286575192 411907824 701458274 635056963 141795531 758781856 488118194 467213598 595235749 395570387 635890146 311012918 285920650 448918282 557005033 379975973 106066176 905343135 204274920 671673968 708547384 862093156 706502220 920461907 211701598 339774402 827405188 950881033 567730382 845570024 206885152 982819327 338770729 823719103 825235946 330090291 871895241 460499295 314723466 658945496 667244820 207699114 408315633 786688651 437315823 627745934 274100966 282735733 706283963 502178204 833531086 260866786 494844920 182423936 403646553 680018207 963572378 404440621 413131168 906510527 361429041 792599575 643964565 922548069 738551585 239494280 130790360 504122162 312704592 558176627 533549242 994980368 930522457 406015247 297591025 208365479 813516083 281956589 522829159 747205747 574826599 132453761 613830254 854965550 619446313 401767304 576673170 155761693 192319105 503772869 580099197 399262507 163981286 204602085 376151402 442221444 282442115 364943462 922958663 621332455 944005770 950167191 196204346 133912975 809433364 595559988 129890053 903480201 215919187 541779217 360441640 586630161 491399424 852748508 390066389 156203830 695663178 908818620 598005223 444119356 452579496 898708693 437900682 911300391 493556796 308834069 414698871 164195834 188685298 397762458 917948599 731003663 557548762 994575584 258661359 285447603 285617890 108600253 793036318 411057877 421557338 803552501 832464827 108096009 672568446 737038735 679965119 404308811 161223598 168243127 123552572 502328261 899072447 936442687 502610643 919309823 175935219 354008862 446516408 294963768 819257897 343444697 726520831 735694436 442308381 432699755 328506497 499398552 578715441 990738774 594667086 873813558 788729559 731800723 762805866 484401917 475586196 889086853 880136687 932371391 360537456 484214603 288849019 896488315 390568935 388250522 126419441 109149083 605233746 812063269 210043777 874177443 862403088 178109056 784563994 249948997 764833534 894495498 911937629 172418330 868749126 191250332 111354419 516034497 593054780 891586232 946765869 121395885 814436247 408540220 609610607 611268491 737152128 435013197 140687576 916816633 857782767 223941504 728941422 358122567 268078206 219934006 401069550 797181189 455371873 513957257 583949068 965339346 961116344 839871184 164844304 517970376 222116120 477109931 339358582 103484775 498224671 275022633 972867025 880996808 167866051 468018654 851189640 662893813 558657174 255492351 882104902 154039816 847675193 581879701 639666583 307368673 623735245 971231500 692042842 193128166 385606637 462505962 244191834 760327475 580886735 745124492 735598788 338931349 180322748 835672641 573219183 865101996 239728779 227015161 731789698 670663945 758999941 824202863 836448675 310815412 231648553 929037297 493879086 272762647 450635102 117824062 495143321 495286096 415840318 967732344 232509680 499840775 783214243 220524401 550241313 128077768 253115451 907805623 482387025 498389585 566570238 979462070 468574849 322256755 948688964 321374725 763013678 576034965 156437893 737938138 455689894 408953975 720774871 557688357 111334354 947149794 189351784 800561989 685637084 596970941 679694259 657173200 482697147 161232459 944658115 244955910 747127062 708074075 948538117 152558623 504731702 507694911 435331198 721685820 630370901 596553778 663924060 385832039 250181673 462461680 146458141 672879695 473963631 888410251 604412165 461410342 157106836 362634023 513044344 318486930 912877170 768534168 319865382 179683116 107813971 728256878 917067271 679144656 358243520 650740449 392453485 603787504 963577730 515486573 508028564 927942357 789674083 662675541 325515996 685462579 519270215 527052698 936116795 719526000 502241769 929957802 616218668 271101214 820604285 318225685 497225618 732969433 944403118 972543641 358573447 155555116 299191569 671777233 816923132 611456484 781199868 745926881 812875605 705492622 362039318 409361281 515201683 634752649 544208168 787205381 455852488 862072600 358390456 529579681 938170882 361290176 296761076 843344881 645377736 249993159 937690246 178996903 537482692 200104921 733704861 743298129 662515781 895723317 524393322 781137759 501548621 903883341 315066721 598044344 575840591 407832365 341048156 507179331 193126145 978758514 102594766 997771803 157122792 378088655 776046804 924838052 400167250 354718855 483754536 182902861 505217519 417583738 374450254 313692075 401191920 556936025 555640837 601001389 823448341 453003509 762727515 744558610 859876912 948286430 678635015 634724466 166509556 306364137 336040009 913743039 275104398 240489870 949703066 695505491 162092085 521817724 265505866 853219530 609945332 731241434 410269464 345399555 102531398 676895398 580088441 235145795 490753794 392523875 845506422 941473468 790770784 615947629 927815382 441848907 973902538 550809319 341969175 726944179 637994119 632912516 933543785 197453633 297047929 318508057 972661160 395090426 292061792 774598911 945579279 373422232 815763690 246366945 300297647 519773545 355798513 131095715 970666297 735238336 619645779 729863949 951927846 276314058 446725421 897314146 760464693 434140818 589668713 569192828 912092068 892303284 580115722 435421311 143692484 962437219 701210983 635189606 863812443 666690918 165004604 384287932 633954993 132542977 549278594 529105382 286665181 611353592 383432476 931237148 546420913 884603001 636121744 692650899 427083448 426443954 382796764 353435473 363680903 882115545 432975171 409154907 303696771 152279419 624793500 441379986 947473099 671698594 161454685 565126293 943273614 881484323 474481367 968463502 439132923 313059788 619681304 548640377 175648638 795423127 201144830 473849508 576606818 473340552 576855773 241550614 563296899 973159540 507384922 130525334 908261181 223393790 759785750 494656292 567470881 449877517 509743456 305101777 995326309 994909409 502527777 790132930 806781185 999608689 364027042 539064629 417832382 908405794 579315995 933105381 135050428 322134548 896198704 491418559 783863450 296454165 625044835 763374077 661226264 824509861 468424744 101422491 470183235 355083898 947598423 708471698 928234344 886404540 578107378 278837851 419794165 981861633 159079804 166806019 761069423 696390361 846401317 501290528 102228743 429241172 858527600 240086491 306487026 964592108 296854206 583628061 900440124 360814791 343195519 828305982 988489423 588482796 269922079 439439334 875357953 553434840 533409777 343050874 980689826 437440047 330085760 435717608 832218431 300217722 964673535 324170902 254717370 194859773 538815969 548867390 185655775 759999283 899082635 154541565 592361264 282678818 431174561 442717921 191245789 852366634 924991443 149608578 185836605 611840897 641868146 481094881 937744461 322258457 999226611 433402060 641555612 121109241 376823442 593567607 277650778 974461371 273568338 208355059 666930356 600465083 669742375 557466692 521924240 464055543 122766104 490701860 172357544 506817191 460793646 104929139 327549809 464425907 450965338 363735641 916159293 312973837 981213099 215410892 110338025 975352638 890725305 989302107 678266736 474894930 395595337 353299394 415250452 867462148 177695297 126355358 954687706 933238557 460358461 132299907 368384877 718141878 910922431 636810046 826468822 798342824 768338983 858386151 833293897 402492960 302759814 259014329 658596480 542865931 506233382 524235846 903880515 696989825 383735646 700638706 793582330 822708011 389827852 907280905 703041317 165923186 470281637 718252591 332284558 813663022 970038503 958520626 194963017 883012864 352095793 121443486 383688915 981636002 162582423 312771239 137082670 486561763 197842886 601502432 588089229 566795776 511123527 526174611 249914567 910345139 252124225 488271447 919506683 171104033 440454463 883483234 117091285 952229809 743798073 246721985 230823180 976231937 442122216 979042949 239188344 560368699 545631540 236120567 537629096 208801765 627879660 112212161 580888946 198194549 304971290 698172953 695198862 905100876 788166399 745529289 322525913 960870234 383502279 268663485 388278358 550364423 856221116 647716261 622274312 989170979 181922759 459908555 642076940 380506828 487110691 676763884 414503271 801504829 792332712 586875252 889451461 294932854 198675759 610814996 679033224 548705411 745955247 714607305 225327784 760620551 359816472 238852565 504152053 834743730 904469734 951239531 483651911 208434846 177746573 105889733 895756297 729771401 618706871 920473060 667189963 183589961 588800563 668206095 219549434 289371022 684864692 294454381 251042418 219543268 735310787 302229279 310211467 639431709 653761132 746343941 167039377 379663458 983116932 403423986 555794943 918938264 635104819 466586000 321226181 162798079 752265131 526352294 676046846 520564425 670073984 945681484 449649963 593444296 837080790 371844731 527448305 613571430 804646987 855508753 623623916 554520307 386503692 438519014 231906439 319824816 170346592 882314826 706127035 642597522 397984140 387502631 792069362 560004649 260705045 994454155 215173535 699893987 493118814 393404869 255418581 133932659 648417510 410739071 469354343 804136346 583013511 450597365 420700111 599718887 689749364 756785486 570281779 521743651 555496779 437318774 584060292 175639586 492042780 866854886 635966251 302308936 563821841 951508154 237896858 853232112 135500841 160139973 567907352 699827988 210308780 653977515 723621413 564446801 739843352 964541993 922456787 786385950 799449392 786286591 531240435 930078753 789144281 211504951 905091248 793119343 186123751 966955653 797627472 318047079 539848237 688750909 167392349 680273695 120625558 520535978 664018685 161098719 242751724 892755610 174417899 291976555 321517166 874695612 243202869 198336581 483089485 529181220 760422967 982098568 316327040 659359784 454759406 622623557 358144243 821978869 356682969 572636180 534812609 317550684 318450199 483790804 890816069 999436523 227085787 285988827 222842284 476937152 444039147 782650185 888421947 501029536 476261975 209587166 442746220 351703733 272642647 502141856 679342548 591157397 224133870 342587110 536021417 202871458 269901227 638856909 855293595 648184339 205040594 166929675 987675675 828403309 670444940 218917329 740660098 547784361 987553294 858787196 832671985 974850065 374867841 583218272 739943277 538988385 643013429 806978858 410231286 659944619 835160335 658434487 312244814 697054565 345711692 763814800 986019565 996098593 773063607 945015499 301751185 137431170 148996409 506873885 618140598 498628231 450384694 413058432 811081559 820809560 386846562 416738752 400801053 298654400 405844941 804510160 300862880 257696630 933663193 139754614 860565635 148710638 705373812 119966709 449546733 138619253 588481590 805212401 489700869 997566432 353782802 202893516 475804476 914269309 637170501 157303973 855193195 270348575 921353783 804018770 276697401 281116950 774467241 584093446 406245379 200388212 923505590 102014580 532606612 155014568 547801495 800930205 403389422 143627533 571118041 353180238 689103163 256121944 474310529 707921592 803942103 799981532 697058616 522082312 528160389 404297719 579657702 313793897 876309468 712966641 354027071 630708963 599531376 942905577 254669778 664242952 894444450 531458944 834961908 565228661 534132171 914617556 338968994 954327662 130607705 266166870 826715569 196184782 578755389 795894931 811225426 352294475 428203128 857022295 580771621 222499912 178737605 354716974 523534900 668941328 718714634 202903739 379037364 357514704 708647111 930749281 433568973 608250975 780628274 118797642 984487659 494976334 109812502 608835599 217368641 980742101 129789966 220182256 395636714 523223713 657267220 911038759 668424047 165345298 232093953 638998247 933018560 881248578 416410396 477165897 696368250 913451807 444397088 933383894 979030607 893103949 710578717 521475322 691912839 178475797 911218294 551625000 760539277 789509278 350291508 664737494 591556329 695788186 562742980 851755520 665655757 535603351 423807856 490243732 114307983 341396987 706346126 524062215 636186297 879597300 161397681 971306006 671206179 955549900 387798946 479901274 291809253 186501126 696128261 676578865 234091504 819478264 329964495 998316136 333995891 576880356 197612925 542632594 253676947 840357753 657953782 536835990 584723562 407929151 696363794 188764668 161324723 799555179 881417440 926705205 326926565 303719247 380831223 373139759 427939236 158772211 652650280 562708672 241546082 684254642 786851060 293817615 396964778 587895268 890122301 644696279 266006077 461087659 895054072 143619178 961444133 239454174 881851633 258562490 321359372 713537725 745167010 753312760 617519358 368676899 629616136 202487317 898605909 320390629 892232082 264223112 671796164 505669345 344112639 718043873 219795870 767221655 922825379 907052371 315171725 615560511 668261743 982610653 187692109 952968043 124812980 498501043 551339011 509748963 605261719 272394101 636839792 250153295 310773138 465850259 779048724 494445453 288810380 437473515 259062529 261005989 299658532 159519195 560954687 217369441 228383479 446345730 827223522 161238635 936302126 803338928 313280712 821624838 822187627 269553560 781630614 434094321 557393253 685850171 888392848 964159405 916929635 964503874 771203012 357255146 501058135 618881495 957772117 823236036 234660987 364133019 504816202 684556624 166537376 913955841 359163477 321863954 235092319 369485482 415457139 130468503 597212028 265407987 135797970 458578021 165213265 859877616 910780840 607073411 774919308 800720433 630538597 786032934 587974234 352111119 177831146 923083154 718635636 439842949 112824548 543217024 892686087 286452929 581480148 377093411 114205215 559403795 919161629 346129452 648204492 931310761 319476962 940399123 864306802 204680916 116908610 285210490 274058330 461291480 757702789 564925122 299287323 475087943 220656074 673681663 166107004 668241228 347061106 382600626 314039143 173006374 612333358 842702643 800079031 491630641 246326143 954240659 133521533 808956056 979491935 983587671 427445068 879314219 994086341 884939499 221426646 996716087 957680922 750241762 599975568 692435195 350830467 578887452 191796847 512062030 220278365 949069488 615647608 352818267 695023666 615260143 105352162 596081649 444134396 445018990 290231831 334377411 483429440 874653994 996983570 397835723 428515769 801774334 360044001 930674810 716830646 617598003 440985018 967350874 579983028 897102440 627424627 459957648 329202957 253899812 660345182 997363243 723768679 181766886 782650066 481516618 673259275 527419381 350418154 604120741 903378412 124594186 458383220 111103614 395227576 826987196 188514009 298466985 698948160 389219474 204668576 908183147 805440476 602262216 911373263 222765883 256391961 325430958 563067088 800544887 891999847 697003723 863365464 161075544 957900864 544556420 470972988 424379128 951044516 319084973 812590772 922567757 852471264 849611623 895842433 208167634 361856606 353864393 833051670 634218579 912844909 613892241 517179279 357435596 816543589 526901343 676384917 953756935 753219173 455521856 713468061 611877477 753655787 711984639 807305035 596534716 654150572 238966928 153149032 453712189 106356980 260192558 195337171 240010089 895959862 566701296 752882747 960890929 495579584 756223216 858114836 573240874 951700352 799174401 345715060 728126070 227053413 612083536 271106366 379040679 661245328 786790657 426795987 513686591 830526236 185625286 665312246 219702867 968478672 372534384 168963644 505358918 557425753 447213164 743666105 708884860 546608147 612947917 780276171 510392435 280241880 588670127 993168254 204979521 984058165 145075333 590198268 125742847 745601434 613509822 109489530 580925398 730958596 966429129 225956090 331792965 910750741 512516312 545621644 645417480 133042685 909150237 360285509 555671746 877756760 651515201 861632251 205671804 635960898 323467598 350023954 243199042 496705963 484303814 389300788 563006229 546400772 832921888 770255517 555253727 949833876 935115245 709351380 444310145 934688257 976963355 216164282 371129766 970011869 649588841 981945881 159209027 916690759 353732658 362334388 657173162 321824815 653184977 399115069 763796812 721130266 818601817 791032840 576374886 702218983 859032875 134516263 354336678 689787919 829474402 512263844 330163491 675335566 473865315 958613232 441202724 152242134 244444421 656064093 482405232 927026599 529657149 681757499 149735536 422416375 188202994 886183631 704260328 460678704 802485975 792109001 123786829 246512390 632827493 166829389 474246465 849235460 557732593 483449103 360927900 313827685 245496454 881216896 372007747 301674328 360398378 885245238 962784777 183816182 296536477 882399555 459562847 175229101 574863825 235985951 169332225 602485886 538681198 288694620 963483716 563818748 609111220 983628213 386276805 329240550 679442437 136050376 432428874 893878051 508862285 150999811 551897219 296637543 837592687 796864270 260874618 729457550 281313542 833643164 289557857 772063437 804833314 411677784 565257094 628922945 731555837 600671612 469200593 107844323 207255300 387970054 943081871 178993197 778129606 243139721 586225068 719000412 219809158 500687095 428954159 693005383 313737754 726126766 519145524 616848593 855887423 861648058 250068770 810091562 153562112 197343063 910588593 198326087 709197355 316471001 400871899 477849232 751155760 226444234 740930283 737745669 500395074 289097080 810916437 379573070 814685801 943554183 200930662 775695958 157887162 309215108 167686471 896094797 703049994 355765678 803571271 582740892 214840506 166050538 723944008 183679610 908330582 187987658 173174516 619453151 872142519 349111306 151400979 663983944 972333072 920772356 986989189 868202100 639388104 141863093 550011863 567233896 124268713 465632938 272719090 378111925 189695323 862199199 311597788 143413248 472257743 123043023 133348776 803094882 158778563 521912826 634277520 108431830 487940575 775451417 909400132 146556738 627134186 666839889 219312112 528318855 962716770 441763908 813398138 929155483 391507978 322307563 588457207 398373997 711652456 421852574 837916203 593093706 937379619 346068263 340455465 607500901 782297508 859390906 670721950 926042736 564907947 492596710 713157502 600464578 497956210 712615614 711792018 410546078 594666613 936950360 198996999 222161606 815438571 549623970 566471933 477117939 579624628 164825391 464761347 242228086 555552378 649543996 965358295 546126813 652932234 998386538 811738673 729746970 563954137 829040381 586714108 696723016 296402895 348434986 651996756 555899504 678848431 232854055 285864154 670353800 635568184 684346984 109432966 291523263 489642963 387635436 145696926 341321357 642465702 731375132 301469772 910416895 276167218 957265506 476503149 721638255 657740896 607125760 769002440 618058832 208156018 594217926 106342312 340700165 769740623 609236910 957436497 693317911 475955010 207758913 616057018 389638444 928297046 713786992 867807111 455467617 211713716 641304515 301313460 737445351 578352807 750516418 656524737 108825504 829239738 963685146 244404689 549400360 882263170 913543043 625302606 922596474 397410570 456201110 692666369 560777769 995069037 285842956 214059269 698368346 963095991 348456597 257818339 136569348 898285381 829897588 198217011 818416806 602963997 755118736 215373174 376160128 973265774 837770993 926074729 693142249 628232434 204795171 973113459 458712041 588199479 457196303 684002974 881113664 930225324 596499224 655150186 292876821 939612188 530318005 254287812 313516183 478407794 660678562 354318178 843807012 241677112 489265109 357999651 427544057 826606151 802860929 549343754 510980349 118212797 419212608 839926443 804813191 710093286 440597294 174142760 779551357 867456836 724565408 539953401 867151173 528582427 524897875 769011797 612188169 525398632 891124334 898966292 243492617 778980639 980579909 554518950 927692575 633770476 842583720 549885443 730822579 913163629 479929929 736434215 285966590 831912598 870379501 611649477 627406745 412065023 497618175 255208316 183560001 449573137 658766587 689505308 570678969 405276431 683032977 260699365 656100006 818279316 316019566 261385060 196197059 929397416 328984471 815518611 838135347 334149426 605672848 181277916 835244023 124817081 562486065 908243098 257966770 450623329 889088314 405411446 800436475 645238103 388791433 533924220 889879174 993746830 958195885 580160126 394338330 481526261 979238574 668705433 543070767 162087456 375032567 118507032 245129938 233485761 592569849 848161909 612305007 145902181 905932357 976058352 869074365 313390228 510940350 256438597 998197514 229491344 120450998 643343835 945878865 449649751 847809079 437334248 790210222 707052855 917642388 648780202 293373479 905088989 372017428 366649571 425126125 762973124 577356451 611062803 293180452 141884696 599445888 565126838 544300563 135878187 912649418 653592028 519492641 692106340 138815989 766817157 242026798 959123049 448993854 269345251 171581291 112781910 711773716 813706454 421699736 652019330 481188407 350380183 788972670 519401443 113751710 965978319 151998834 134454256 296602666 837285542 587764142 338430263 371246530 889306081 534159250 807048571 839262367 257210378 841864708 499709881 552713715 353065537 338227386 901857841 240773401 259578627 617084915 987053650 276506529 203769580 505196965 502450140 883672105 838600440 117439516 208858379 766747514 421948854 344582289 257690772 697033187 691787882 388063957 631798315 118911186 870871486 178105213 108348276 896176104 657277717 508550473 609075975 137374486 955518386 472770198 586208285 678134774 927262379 177612372 438587414 836560137 392043098 355368720 725389185 969561273 893672723 161009893 793467041 207786946 958837450 195125051 264142227 821584791 728651667 168201055 934202418 181158360 391448520 878776636 871358676 480582839 590088209 712319217 707632731 578645338 380778746 365749807 491181955 689384495 621622289 762333768 136361915 474652471 842395763 332852359 602440242 917316981 128506023 716427859 628858368 659719664 753037799 413143180 436552485 866571599 979725118 730219136 328976160 984212333 178803072 491283109 418947143 571163185 767167864 172616959 995456398 400493187 287655686 827374922 541968777 679341881 117135650 227594061 521181281 677619155 480020788 848611746 311004977 273714885 358116464 624936835 491225552 457233188 874570147 562844573 657481484 726271710 680205424 526560350 624833749 962900468 564895796 271039409 786502131 444649838 158362818 139708016 882415833 313860457 477560794 601013975 127867825 855082185 533816539 776266456 665734754 575071401 701005150 759106425 943225128 808953515 858041087 284670009 571853646 279170675 936053727 466778777 552552428 916476935 710520058 368465822 349818420 112969509 380465508 270222012 106135447 829441274 104971483 871849185 374201390 626237153 114948529 503261759 875188804 788308257 368345643 399942134 591614737 384064741 477190102 894231730 918242490 587307600 620570983 184947987 117966289 694996127 484615042 777387223 290136366 949724563 369958272 507740992 454410221 285816780 256421691 135203719 875589388 412449410 795521923 640257019 790425952 753286669 885138780 772843456 163976284 981005965 430179902 647261667 589464225 519417410 642855127 523494264 137994079 175739426 103127096 739526266 670970312 993182514 300084313 158144514 190473482 240196168 127891590 975002990 149665732 448970540 722734368 260370823 711417032 689259987 433160730 885702289 199500999 203980552 817134905 988172740 527277290 406859296 555682847 943973067 262360953 978335967 539113895 643241454 675788476 584383347 466640708 620543481 400368391 335087376 569804790 860967100 242456661 302633020 674143119 254457047 669238456 636253038 846258119 359568467 457047984 717898627 607123932 662259032 811125210 622869464 848757188 786785797 486516465 795556708 393081424 900044967 601396678 982132487 322729893 856732587 148024832 623904827 406453430 133277744 595883550 970521019 562491376 901496129 790621088 623108995 713224230 465536893 972217520 800850478 993190438 607574194 252269354 873575030 859399633 849707693 650319132 331403453 394029023 775965363 477030274 233872505 628939949 142544608 996864229 760024462 605030788 455986260 204670582 313510514 143501952 938405446 290103841 452840339 201837387 688834059 894190331 509098796 595676098 753228177 524175831 144995836 442835274 899100212 633127435 514892133 636794314 370119784 977078178 914394235 520753474 527737424 882339101 740634006 177800238 811859876 546410722 799437512 287888448 347217861 714554049 842514266 722167780 658954696 739016898 555342747 789974029 802030071 231918590 777726676 982935863 742167642 885260055 861394020 869465992 780927756 462626915 295950954 805644379 877852001 328587027 133417405 775260104 481708038 695736134 838809222 813760331 230255136 433273840 276302217 863474705 790424489 980324084 332603948 886014448 569990198 361654106 575468850 735333879 905444782 888201684 112768728 620841191 966125154 404435537 654319165 998351430 176882949 914808201 366685648 535702718 299715031 214058475 639640820 945609639 434677918 850252995 112621381 923162147 269000093 650735739 290984937 583568971 725548669 142249497 693648526 509763156 700184574 236172172 183393474 207930638 984148269 245575678 562617622 417693201 299594345 371521597 450494141 863558377 212560775 335992275 644257785 266003064 169535815 767838981 732593247 530908947 499287948 910893764 985772394 818793892 121232099 182637511 995929624 512063406 284621543 690523676 376625671 793958260 541606643 647661357 887446586 115648346 585650882 513467234 341476206 103111802 529914012 692408676 213575754 304688208 102317460 523475914 797467555 381336173 280769459 712427244 542347596 591795262 167267663 540655295 854219540 307747905 939614988 906976027 762511117 464379056 492314148 815982403 775172126 669878001 661008765 922909318 103660865 847876318 520798539 303216429 202884936 671873226 489684474 249679155 308115848 879312915 305393256 918973650 622454523 175459144 870285514 856569360 334409682 247192889 209544987 745466013 156988554 620272295 418817913 713925552 576202519 897577654 900112793 825817166 626183376 284860817 861943053 787548526 414580531 319700744 321427390 210706996 696724168 255585296 231167161 434386857 362893699 593083964 385363594 837989471 392982942 670210960 570154164 599364788 732235183 936065413 493374620 904151542 736491543 603618052 878640115 683921644 780919978 375013374 909855188 397468958 567172698 965751846 675092158 814815175 792267352 668144916 845089266 735580459 555561510 840635193 719542381 455525047 972483765 863321150 268262719 107926426 186541651 312748210 996914106 794612447 174823166 377740880 499923577 282351523 248498660 791224417 258833364 374283959 878397031 274197780 951620806 544319273 984542899 634452912 803386002 878766947 937427527 485192339 874170568 375134343 717151400 552208322 988757449 758986002 411740883 945568642 803137910 882709597 392743699 855601519 469609678 623517874 298522492 663134022 449087311 851693600 924734226 469401602 360341039 711949382 803274033 812392464 633256279 728496508 788044333 323320142 847534082 940648573 124826722 960147059 912929981 827235636 875104601 971410362 863024493 845193074 972669051 379053846 669773972 857212054 969694556 827921997 238217342 748624501 935335903 291010971 124108815 391643959 985602919 677161301 558771509 612391430 486695154 267194439 441151119 802129647 768286340 446522644 562033352 449027993 353684934 298284881 388518725 870223928 560677207 768609643 728969268 248524819 886594352 480669524 609500087 489288228 917090718 684892526 154010745 278733586 255567816 799545204 447924388 889276716 863627289 924052220 111511314 724581824 942288953 538981759 813347256 639559269 985943990 356150671 988864587 879243516 455108041 457454762 392963248 331798475 514019882 930974005 564916176 517340417 568820954 109737762 587071552 681249096 199637150 208067401 293680734 200326974 698702355 330877150 884897382 936540645 570053843 132253108 209182031 553041249 461962472 104449677 581501649 821230586 772707158 279825251 132051696 580835216 810285563 394171757 734584621 184368869 700092750 940758168 343205913 729458488 449389570 809763644 454427397 180140694 224452365 947373220 305739428 133624171 356761703 257986834 437743696 696656327 864410670 441588363 841289219 634998025 966580794 864684376 878022230 734882470 593322882 217516910 230516708 462735359 370365318 908005638 522620580 451925571 182946490 304841430 659131083 211341109 964130890 865411991 771584216 762772121 943906137 618416660 127229839 811300326 726041203 254735078 313964512 471536036 693572292 474883237 923618808 976334430 452160281 194868972 922221827 135003180 869052957 829554440 426880132 408502696 868792751 498188154 634568780 625970310 471905545 780210780 887510570 935719998 657982303 436850645 312556818 100316191 890008395 592911107 362703883 658881131 251408593 509494754 478203633 979072027 168727681 981384379 656951984 231499896 284739447 994635443 320143203 535533368 331929061 976459819 341795837 773579160 542011309 522274050 732906447 159566687 529975108 759783607 795324476 988829418 360915781 505935564 217274036 330894342 325295836 174651037 757915814 866948194 350497890 707258254 651254156 423588277 776903892 353644690 946297517 982096686 407790427 751765685 664608551 142955699 751341707 764317621 294325698 396594512 302643167 481841510 290647432 118150135 571553975 600545834 690977587 771962005 136576408 786116786 542067520 920347134 786183167 778670660 579903300 719959664 163767562 723487305 327114796 778610377 632321633 961227852 215792159 205525103 384008236 773515675 847487633 436554760 570065885 840418624 508848404 234229688 269429301 123792528 328165268 707327574 737513930 109823529 212873834 357433699 580341944 814743628 536823146 315037718 342712571 975497535 826835035 932400918 846219963 359678880 525122787 831328006 995329295 585068986 625277957 661733238 534121062 381338508 227550167 972512983 358768077 680891741 457144327 186516505 334274434 973348589 481389580 902730821 944065413 579179976 564684704 955215382 574895425 410642717 363272714 635196286 864790311 235808479 345222138 217938918 454966666 847729321 425239680 601419505 394288504 681026033 406059712 332015323 567411540 171301742 776859871 613295080 916354054 442533149 281926987 132427236 325137881 308186635 518525732 413870929 980722251 335386257 799339878 675554535 176694788 215270379 954669545 289318586 919542836 287026798 185885864 808473922 518538866 872680315 804637225 926224913 100693674 706076359 475204108 696799123 423281564 302575171 529222240 322504284 583011648 772946738 946715150 271475006 468772013 212014479 143075939 141532823 121183851 612822767 722098542 761857818 764933367 530886060 332977104 534182779 324356613 235945994 141371900 209021432 968644028 106553035 642759486 680673612 585183449 126059444 338346394 409046514 774232338 484214265 125852358 890059794 866924662 949553304 685353549 816287176 387362174 194450042 133444267 457077168 403824127 564016569 661720092 642421582 271025703 672972696 649893672 921821891 434196258 122195651 451895762 454271065 646606606 908585606 434701406 941223459 355053611 954693423 968688496 638990615 536407205 617527849 756412290 999789124 346424498 943987733 583982607 205112553 209314033 854213289 760706466 941283557 163530244 368097590 163120624 337424669 936530397 649497529 335861237 777393300 510091888 681952540 403221655 927890142 214644461 399777792 600101068 113476161 152907881 745393921 326904676 885143006 105522468 132085556 153902900 148469780 364229619 573928122 303494251 805662759 510084817 687460151 226258746 117532275 928115397 144888796 442619794 911761999 581695021 705168417 310821847 243773523 115796436 714226429 623268685 912847283 103396974 680604283 742261533 615521018 958116138 281066576 616079170 991589127 999230493 364140197 952800234 212695381 468279460 819820907 105692941 999701368 886539138 897471397 622980630 907646981 150883794 512963231 427515695 648709759 499533160 433268585 962319699 524548134 451770279 946849392 836274732 173109358 818141317 966777615 311299831 255949433 109902523 386882436 137666527 656994648 564334170 581367237 775361812 992255145 948990070 966993962 404368353 469409468 243900332 495199331 365196001 948453811 477950250 536208643 571374826 289617090 356466932 269513793 801623918 894956974 211127986 939991423 206221567 187342430 614615461 485628049 980744605 396618933 574300945 321971833 425095856 120125216 563718169 670626346 901829282 101060483 449542374 237507284 481041584 654533073 108089772 859732645 788518228 304607874 964603968 630831202 399088573 726499561 630972167 522914853 543310552 871150689 401656175 453352303 877479994 177050775 349425767 769603989 280039962 331493409 535046074 680609845 716031854 513420983 463405130 325471069 430745446 647754312 249579892 905900000 575196444 139851739 869662009 541597630 393007981 484326638 610807869 211094394 927545283 240250945 498019743 475393735 264938160 870781416 771813917 175566998 174043643 839928426 126023135 949996825 158323183 736964029 662906521 566057524 103454855 631516856 105968179 604440354 382484508 182823160 177076384 673303559 504232642 106090712 161641359 200337675 541915291 528255429 167846361 979223775 255631723 764520343 618774084 236706566 418028616 570669380 855735429 401534997 640523526 687337370 558307361 336446285 889486836 396055916 614263585 458796587 988417774 330083973 876630569 425978614 839787676 428430500 509886212 669670017 969244097 460128395 620134571 658967301 207115560 939096394 378131136 825125241 671807880 283590238 104177424 984770301 674922763 371600563 911574094 678503223 634070925 709756717 810368023 240135316 440540300 598726751 107477978 303567414 940564821 411825772 474300502 113109029 373425083 612708923 220884727 793283002 917611473 994771349 351276261 802393042 848823850 811561389 556236507 249939354 673478946 721112383 132189535 972115360 200602611 791294315 162198683 412389075 444792210 308878779 286078105 436617905 533655697 397893721 589271473 428002885 438445352 729625933 151780996 840304719 219162919 388801820 470655770 813811723 103414056 895278113 106634933 275681966 650239239 547728546 270590889 397158434 965707260 809269502 345398397 332884695 722055517 783457761 364658834 509279517 729934268 913457387 518058905 825445477 132005226 367469598 445596356 228840652 740447401 483712930 382121407 897189804 602976459 341991162 917331039 512647667 928312071 424746653 626851612 400335204 349963884 317917646 683003288 822300971 673972192 615494654 977599102 722237212 660937771 763704178 588388432 816256846 470353991 220643658 906120846 500781951 153336737 442842674 744754891 914994286 596494664 433393497 743772259 818688437 234362497 375788411 752715230 707192503 616707266 634567817 263165956 770178778 357242781 806691826 165278964 948887497 977761646 661655256 668503505 589220926 320791424 180935337 321900896 786858773 486851067 359605872 168998570 317587366 534100836 462334807 783148331 387629771 539460271 877118204 319133876 273961474 567983904 770215115 160174307 798228342 525603267 374150596 422678913 587840027 954912801 878039429 894931445 704742771 350873172 525160003 576700906 849925449 828193903 137024620 301768548 196391238 432692155 265339685 440529231 212210629 769392568 609161262 460593484 111055227 279487450 183242680 147137286 834162141 376779160 788850377 944525379 541877701 260853556 819228234 732795528 115271995 496091005 427134653 426054913 768632459 568639368 770962825 261793760 611884797 236275515 749336494 653820620 566301105 437484903 209337226 435005818 260885402 444504583 607145483 819836465 136611881 191096823 532486560 154366773 378749028 758219687 185581803 660931261 201180748 340901713 611851790 560974653 966415389 689271045 262995221 530779493 212046928 690868341 813511210 799359210 527071605 610060380 447901113 954696556 696865287 775264814 823097669 906125631 997568335 397377336 759647079 436994812 766252881 736977093 639732349 398301604 447794227 950812400 421646335 554030055 898750156 973870799 791351281 357838366 709297224 464366332 717980493 642602416 359034690 743456677 522384052 929335733 916327367 497033164 775917276 666808757 876115920 448281527 236107220 601829296 640237849 927266905 442898910 322710930 963991172 908972231 948911790 107777764 185526139 382619560 449595334 124059525 349320578 852325568 400679672 404462903 115255142 698140163 694394456 698669024 964739680 305636380 817190749 448476157 498296171 165561616 658255290 260737283 649759300 914796592 508212555 619840555 582842595 993626705 311186010 337031519 581871668 922778979 875661814 252218956 515046643 754810561 517515480 519068274 983310317 466039716 962264125 541869851 781615789 135259285 379842276 670660836 909737431 153604355 700750275 982794792 988663972 382873698 733735583 308029565 849406162 419366676 500651064 546159964 657178600 578655205 370500736 491664084 293927646 674857890 904489090 412643985 396245786 832022833 705698627 332860392 189885111 311030482 385929390 668339397 459962563 505659457 832892394 546235159 432928572 555457093 931104928 130796409 832600502 850348763 191057627 442654215 264868306 766761448 833937234 354042329 434176902 243538291 481720832 288540003 704677103 319278188 232728022 458308147 224579435 962389784 548715342 154944111 908322700 983020790 963776819 151902033 905180102 481177376 944652673 840885385 299786245 877689824 930638923 183595449 172599731 859739837 424762192 699544013 826645602 585619014 431351668 463070137 488535221 932084378 201313814 838371729 988937584 714590823 434655047 239044011 263371536 432600679 854232128 337831313 926885296 165894124 795484071 655470375 373875175 717730380 824781896 946529315 502775156 282032562 457742739 657253855 471959435 567346063 229274587 571842735 127069802 585641655 331183685 133403051 775468787 159163866 778756095 808078711 772781317 444011480 751566730 739017458 577892776 963868107 395614929 564461992 516446670 997238612 890594524 962572258 341224068 422462683 535901519 982805415 518707848 378069372 259746197 193595161 128841243 995878760 635085473 743589705 762457823 263136951 270831412 451262074 741184773 305758747 185171095 668437782 155874231 749950031 815282988 526429104 554044620 967059917 620708379 604235783 292134818 747939039 559691083 282279665 100219204 765279939 963782808 679787028 468453195 251096378 549964911 178547280 667875076 146617337 714062087 986502056 110064242 571033452 714968235 289429977 629103148 727604952 762699474 474459854 964989352 795657772 792005598 861903903 266563871 202190538 619625159 580087031 577604186 285343246 451188318 262598213 244390629 424662076 578823495 709973517 461949061 283719061 693960965 443682818 664312040 923407048 394672490 529889094 910568307 528628788 560599450 610211277 562690384 702946720 207393973 363439446 516956887 199729438 629881897 873805011 506292223 417252240 897847395 640340677 396148353 595116670 618068967 600778190 948024866 627115925 810918226 182172967 781871781 124420830 288590219 830404624 898121712 305279465 666570560 111314462 471392535 212185065 584533824 880189393 190561575 613637730 729857622 911270908 959834021 798953003 794377257 315470567 734762588 918220750 285103410 501449500 165141082 588600044 657053751 522578143 252816039 335627409 146613065 942471347 934130423 986651793 640852598 725889342 764848781 928941376 822885140 635996191 344506416 214277829 435342971 167328190 148734418 184032602 415253223 163071878 271909682 565712711 924324818 326909340 679271554 462520080 567004893 807030083 270526347 780472636 584577575 660478308 656947598 737961357 191532844 478629519 898164036 386851683 901196120 244371939 518120380 396696285 557870963 313573288 472761200 992927236 253668519 791406994 405282432 807731812 334717547 530210077 156654740 692593736 904904606 819201900 117357190 708071590 519114626 763566487 698112361 328683877 510462067 554976390 499842074 419189840 312902108 745489717 224354311 889559242 586181662 394111232 720836466 117469076 873143121 279522319 561557818 973963199 131984384 232013265 394393547 647037247 663108295 803827781 359302078 881068860 171742155 263737489 299789557 247469372 918425388 367348604 420782049 872958004 515892631 272336431 595434113 577910048 400071095 697191123 550196938 463709242 546666560 474498774 120251080 668562788 634240586 969431152 546038742 472615329 853554869 536338272 141995551 444150099 341194264 165486841 986134606 981911813 132357993 152554721 703228252 861335789 205345742 649836993 235645511 428982412 239811427 436529735 112236935 599221520 457713182 896375146 888851400 625840516 430803096 295828648 608402424 991361459 121428829 363400372 568991174 187813527 810311250 217032282 879611784 296565952 694228048 759982607 268737396 916457894 999736273 644939097 334606603 761736548 732785583 517797986 905130388 400923025 348031569 399311668 736085377 697210627 520330246 413827069 470825277 727692295 849467576 416640587 712741136 575972262 928525862 577316519 839498012 140732772 496864903 998405177 309943481 155552225 811512511 291993874 815105968 865864499 321461987 170403055 386920567 579285307 137004782 366471432 242560049 462892218 246318171 141894276 404082249 351496284 121389631 707036185 650376687 897555507 148974845 992959790 481374512 643310124 156344202 876608355 106212597 488919775 309732954 826724738 220376065 222400325 280897341 886553201 243630108 541595760 888574963 521026764 304454323 729444097 399518673 589858951 644326246 856293991 941393350 166777941 787122817 274251235 196938372 852411375 654232143 692568097 240452676 995159803 690694271 842981242 223860537 333493696 188091622 910581040 637144415 606279788 547735771 847728826 414088802 761259548 728443217 854103346 764258175 660296599 619164562 485632865 908707004 786957598 367358094 456543167 787389505 652505599 911021223 736133967 545877297 989338518 160725113 879601754 833397678 583890402 714796407 818268738 116013901 692964135 726336479 283785332 827243860 856596883 941019950 388577009 448949176 683994079 183705783 704267661 852358009 671155133 518660601 559148130 595630655 280910991 518655379 359618922 951061299 341187913 274335981 931830090 347470826 453598627 752919843 764295057 772460074 786983591 417185108 841622817 405290156 945955714 236459564 794435385 729050377 167908035 743252674 275510942 610484367 728133312 768720489 214095171 319183139 550944051 159703323 284992964 444964113 667505492 739691609 443302378 798151214 602219859 941156889 392465517 815485291 245386247 518230147 984760130 970173896 662284196 548110673 607187644 262667197 182990039 226099733 516196593 624606557 734306943 466935486 999985336 490258001 101171736 939264919 439116163 571641318 245181734 498955480 374730747 721849836 830868009 889013241 546042394 278427588 450827865 376029492 220026380 992015093 563553313 455799967 616932142 376692524 157080055 325382283 163536992 552932818 806404076 247914328 197611659 133882755 761167816 325603346 247700548 605477662 568536155 872011775 183535045 800371640 114865455 729365976 374020252 231677910 387278877 399101521 267252277 665131773 302447211 664283227 263817012 650845045 626332319 626898141 738429118 457508484 618981517 863526184 502370967 376552405 787920894 534394119 949717019 433030515 939765827 667334831 806921017 753971684 613230274 365185099 188190802 489701606 371074689 174111826 621982011 281443146 779913099 484584140 233455133 427573076 535837323 174397619 729267426 333539047 191208286 901834395 211492403 803101263 208854684 743008524 396633759 904145403 405693606 282154142 855666001 958837940 812056590 989685426 383602780 363936209 114282610 763706718 198511560 558401707 863229870 361342753 579362871 218191342 394036363 578140509 325323504 586122933 569590850 191150359 708648026 403578411 753232902 825901130 871184297 793837163 969438395 194725894 693516848 499047899 327012232 294159031 332355991 178557380 860843629 907323621 343039504 348185737 969959564 340447864 717872819 289047078 888083264 397166573 498317181 406677065 548614937 198379692 292195589 834033869 804292400 803219109 130210817 852980514 403955602 193354319 516115743 323612184 662714776 971605851 233925821 594705790 839588691 484494093 564488902 817623003 675660922 930433191 285454583 208533751 707235300 894310723 151591029 429613492 520240245 878798743 370352781 628651311 789379994 901292702 416444183 766821239 538563054 112645926 266772435 475043430 437148099 698284605 675310569 919385442 802471542 441261512 155621052 807620834 180760599 833410574 901499349 508521909 472033552 222410797 121773050 552059787 739507550 933758243 301369224 246899484 593232114 257886588 330238079 524087763 544859152 200458361 631024753 343240789 767027793 556564971 887609866 534156237 212418775 477576208 141572532 112117272 640519730 179247445 802170209 464344670 750546791 884785833 206264358 753812723 494966903 736704554 218568534 857506585 176416896 253939119 636355500 105236991 961436180 400477754 997712782 945480852 682909789 506052505 393084072 663140754 528557111 285644949 244158122 900937004 389554072 530756054 934519404 543482719 270539650 174534195 590411077 616326238 273801882 263085636 334655231 814908984 303704579 427593224 624234321 318666923 594382502 484639249 175245033 486541256 417203258 249241372 317072815 701072863 409866253 662906487 122187513 761767019 656939212 723423466 305982120 545305272 516570194 492045871 459086128 761246949 440287891 255714938 394689423 946425555 965222899 260409520 271050478 145627714 517856949 254173516 122094365 658874292 890235878 181302279 408491377 255924184 544613710 729933440 220591288 211430189 220837919 131778890 394031088 641871946 523263192 110623575 112447949 866936748 998180388 887817955 415055847 838798672 382230820 885212041 544069176 981760286 938000777 387578975 236182573 524787293 246727221 513548308 165437212 470460088 662925097 219101166 642424999 496016651 750976823 687628724 638256562 709232792 796478710 411490197 685558178 284642192 259149500 288548606 519863231 872888250 221076464 202788836 842842613 189077003 423750753 639363606 107396009 168443877 704504839 258428285 406350213 716122119 220691256 384349368 642693277 295594712 426537492 691369115 769136642 997019170 256641533 706804367 138684689 580824383 316154834 441151051 106000878 340021334 533159525 199207407 923678370 611505717 308777847 243710311 133748643 577170812 858866843 989111297 354076009 647301809 791868369 733958659 528675459 874891219 313589572 470439904 575615789 589328922 880359058 417566706 300081548 253040721 427222047 544018980 441612003 659345166 666681088 991274949 343898088 594998335 350065064 548129438 982841056 882999930 497312241 580748966 800184353 526081525 968578721 300567118 420488323 451395587 939219768 510082377 911599638 293421022 949293020 955605761 336786007 251210907 705175005 539434648 824417510 261865436 704119124 255406642 108031579 649981332 564827767 697028482 686070586 294475825 804372564 316556285 951614037 933020789 285857701 950712645 971176876 865753998 690586543 833177054 456491419 649165056 645465231 698208443 705637767 975239522 106995804 360876191 779991269 366295449 770558980 775081004 495690691 304990745 337571419 304918681 563100642 491798477 360198545 100496843 473601472 470876286 679143698 887403782 944640185 374922470 833657196 536036616 264169489 456315127 281897149 377894489 297594685 742401291 275759596 531637667 416382968 773585485 525502974 932165833 734046561 664202728 130070544 142198843 501342163 820229664 481875749 221287693 594064245 515044088 983726652 282354678 337111925 287042526 765493202 510956574 259520576 162757972 624655740 471463361 774294872 225836742 907948708 352966163 551000121 248547508 853103501 412399257 346102288 942657267 403840133 366950328 475058255 168713004 503308799 363028945 844056246 174061203 543509127 589968639 891015331 682922184 871509304 865449301 871293094 663565675 376480144 605217814 877834754 211166598 688098600 886652087 176819668 256344413 250960145 337521778 662813285 280397852 641230077 301722051 146276549 488188292 308295443 672061449 740027116 399841614 397797930 368549680 364725479 845024320 870590088 646534385 448271724 243037366 630303379 378946004 294619158 967805761 555015818 120877489 229981322 427380591 261544413 844579289 447816559 932471481 419536033 945228267 343897767 509792006 573332430 387450830 336310822 373706260 273755575 529898155 401390223 222984749 134533341 222744822 314459782 382172747 717678240 472546439 462873668 131939647 849016230 187523707 954901201 944673019 406306460 211016974 964100602 710532889 169999162 595039411 471990938 971659170 745049234 318720792 549529236 430314486 147393432 897402910 199888752 313371146 808469513 267489695 497722960 559203149 545053062 783876736 483033021 380681720 166956365 509430726 615480589 315776855 533933050 146657401 869595667 110331784 820133028 158093880 516297339 284389999 561487556 352580841 732430492 171608074 326923641 513771333 609179559 793824859 597929389 970614597 313775880 683616518 272875988 822679231 941608541 970422561 390748607 811655210 434039191 711209629 301992330 569097054 486244943 387429062 913595590 575905623 238768625 547303946 730835152 207968751 960535581 592075935 108972869 335257846 721463735 868396326 741360442 893270788 508825863 351446814 163024940 990102386 146075334 477305255 476580065 939553038 848760599 278158828 382023454 585871295 200011386 676576459 445598693 685044695 471010006 269177516 936899193 906505165 294643928 856708602 156967229 221327227 169998533 375302022 278125423 455763338 817589661 389789506 200615909 420359906 969958685 814912519 282442828 902956605 914124330 244364569 319673413 590432822 260264616 341828920 647249371 672478742 337359413 348059514 744009438 918675380 823549823 432724423 813926719 123636568 204152646 874698918 342354098 734871135 332480705 577953698 953679736 933814702 968517701 147008391 196607229 819837464 777634301 648327675 447182987 421282340 604083256 659936771 792742753 328665566 444536116 341798156 578291000 380211312 315630324 658503378 243521354 309672646 442673808 552637854 506357841 658963817 992115131 989023927 471309820 115772507 209370087 706015211 219546612 934958626 222730943 764454715 831895398 325547922 976581850 367122516 884871868 160567181 620668121 997965064 581758613 118403070 736661059 949105721 410253841 652276655 772894926 772741532 467736701 941604271 450144548 208895716 435729029 663168140 146445470 542268615 474015505 651204194 841800599 827226774 639149686 634109745 745000538 953626263 324509276 787909706 457746814 511964218 423593933 833588594 662925158 893109048 164253622 716008658 311260862 888829949 761249886 208601727 684428587 144274791 111580902 291475891 244831637 219473595 259847794 494181224 598793695 548066329 878967905 335744649 260410246 951588990 660252154 177662279 206961001 912197493 753300388 363188547 571020792 800035842 229608918 118251674 203433284 425221650 126554875 374323773 787706898 808988113 881123629 495264149 650671681 543807246 739124940 284164953 828678373 281947838 255162887 209123628 420787882 865245668 544723335 617094066 386011971 910440280 443763679 845404661 990181534 795279611 241433571 272178578 582791283 695495421 972385882 166666713 759494896 768821534 365820661 295358339 622390108 190021809 152059096 239180721 246505791 658187211 630307822 808225275 190325603 811941828 809002911 882008009 390304465 338103372 811143715 468730438 464964246 974567957 384867806 616560810 752304008 800506123 261031222 689026787 666539775 452967678 932850447 794220858 739664899 380324540 749912182 734529916 184465491 847822646 764847085 851795513 345268841 746484388 844633080 360981804 200854751 199100956 129487741 897578891 581951398 282894828 771851052 639932164 103590980 940319205 606151010 590617372 236349549 201686269 922899212 333385824 517375347 843434974 725779504 784448676 969674557 641280831 733325843 531321868 683799566 993616771 995431712 967844530 367305067 823006979 670268918 158199415 452422050 776084556 973444990 688420499 199212568 223899963 610025952 196237014 998447350 893732773 915583098 349435354 679495888 659503016 245116437 907187861 379064273 337264450 862682013 122295142 619555918 574699518 101617456 406112132 404829172 783487491 107166925 682792861 949247094 749433525 891951696 847357393 367996622 349027928 140774414 773364673 742422449 629514615 189790381 129929292 969636634 754486922 377891393 375422329 632421912 885013337 559760233 165840844 722132104 567705633 298254177 206297101 318297693 934782744 736181713 404826436 391492749 375128465 300996951 826855741 963949043 253507871 361042640 774302036 144201709 958747049 834561480 153134470 966522938 942081155 371049618 933072741 246507904 517145765 412498043 254731471 874697129 748766812 244742429 484195027 301915248 556180092 180440317 678016102 649248903 886818790 786118117 801526020 226832401 856886078 922019280 755561925 985462136 913383788 247130641 868979926 570015094 161976573 958196284 114626187 688573453 795051577 543613856 957598556 802452763 804346910 208287217 805848580 976388737 585393309 986343454 755180957 719564084 681537983 925981232 304749840 965124147 332594008 695880146 664017408 560941372 388965611 829347053 288096902 521410906 781003237 182952850 324910456 405288184 725525314 606032774 839749730 827655130 774915742 834629772 158491442 851117332 563955978 347154853 194059088 705663853 212060765 426119082 929786741 898745466 991452144 985223792 349675556 567483413 356913705 747671162 865779313 521211248 795665276 211634403 561013292 943842905 332315099 258160510 825629665 620680340 367978810 196562357 588377236 643402884 943047766 896482523 796516981 428494225 511363106 620677214 302297606 890047198 712106308 621533183 975461798 907487240 744133406 659832333 320812419 189639730 698380510 488267846 160435272 939076874 635254102 178693694 870126861 327363852 150741175 264688444 818304332 775451723 364745945 839112135 579265393 910412349 411629325 217081328 804669865 441839314 506057731 878474773 804904372 593001337 629433556 942088486 674530400 674416186 705352803 436675765 886908189 274936417 419598900 445903169 849489239 483148912 468943787 192046927 798614486 215764691 100657096 812231105 382438329 271392677 212170544 397187328 333146655 235061705 896041704 394941536 680808422 614533882 605991370 788695257 584218061 152299013 735942551 928756768 672180610 898159429 467747850 554762985 846981330 623976882 366264136 885706685 754520021 231702027 908357564 167434123 429440157 996488770 301519136 896819394 418235448 752271949 446949883 891601030 512087839 373311638 690439692 175736806 683572870 772231199 618539964 835978379 289960343 374832872 460330297 679694810 775703548 962102482 857084448 259987053 947310743 488825726 469563890 714620724 150790980 163168090 927418739 447250412 188201664 605663825 613411397 801226011 478874224 498431998 837787517 561161614 773472483 794445567 360477364 996081866 372691895 643150539 583959841 132338029 473681344 828490848 911805702 165106430 171360858 226691683 885689053 851580371 761492186 494249274 645977743 507370668 513455211 161575131 633503204 882474698 150873283 120421811 692521684 273957091 426673664 319724603 391991851 876594132 600496583 129891574 935083171 397953003 947163433 499234144 379054837 597651202 769100753 194703372 913895389 924126932 886493657 388760386 407934604 708563963 475230900 244359774 969033669 475703293 686843079 298876491 583634453 126063300 782822325 753416578 813918496 918865905 118072846 343494087 766533573 240386323 483592694 111350204 453165101 541448846 776598895 200255722 273091029 463229281 115285308 109919619 616092377 175101314 986985395 805651659 504317843 909415098 188906552 743407044 422987425 713384808 681820218 848176993 546673742 295474020 715529835 757209957 123196760 541947391 286584202 964828933 633933659 509672370 898220887 285113662 549904181 316555831 848366301 488480477 148562830 148000489 509448688 478242439 187050822 468654240 373496703 152166794 709780837 169030877 396130595 631139015 297464392 459580768 295851052 827280325 245127539 292425885 463098629 483111600 621171850 437820509 682783514 760955735 771987417 275876006 773949244 137850004 122011073 763973550 850087316 174614664 850074166 206649328 151462376 227276495 633168756 544088360 135113779 427688526 959804825 245952753 339392812 741200028 589986152 658226006 656100059 883997156 721544673 708860858 713345883 687843248 891941161 709834701 622383638 800780263 929303092 386014886 457872925 738364071 446693004 913667779 698927739 774728141 302449544 710903789 618787247 907144974 841383692 665776753 426178624 909998193 819934302 200286679 660800106 710878944 174999888 468699769 585238562 653687574 246297372 836189273 816393106 938598165 319775237 556901641 152590603 917395718 701030844 468563289 273180347 257622737 930188223 743679300 613302894 777974447 252204841 802258603 180339285 899840783 820263877 800894646 915353614 218584462 934525888 261392192 781684035 955054454 390481116 698031264 506939348 423989476 421108741 867421394 913742213 142114437 724490252 564131686 584253481 729690064 756041049 357411504 379917234 154707158 769694247 477589540 469986684 626906376 407790053 336032654 750464604 315965072 313333879 617030087 540696889 566182315 788092682 245468835 794426994 177046255 560942469 563525891 251595732 120279065 673315061 300177588 892362769 991996931 799672518 852912134 775319463 828749859 410751916 623110658 562645976 825831708 841914082 699514913 392915956 299191116 252343728 814410281 366750490 408662247 292870611 888255184 927704944 122431167 782348022 662027006 381605181 334872631 283587538 836238771 943586701 547137057 102830911 789595857 943238077 818747141 591865450 302089322 805999917 722352933 227591435 444603644 237230290 541171702 518864366 718621687 134736872 264663632 447881040 694820830 405318136 428517426 218972189 158987711 264590912 322774495 687833825 195796528 541187019 633073859 158630561 205879169 604340943 598246489 809262753 850615780 864299612 939740180 579881477 144965293 379224945 410580565 201966895 861327019 988993225 505050820 878830617 765192049 433035332 612363620 919054516 744213865 654327210 229382264 859343224 329482627 165272134 105429895 318686156 312471270 678511719 664532476 622844978 943688619 991131649 849011734 208328387 306956402 289879925 404670815 660923062 600572734 378809965 786019367 508875218 567450455 662402837 943167971 441579969 786061461 752724743 479293997 899505145 140926114 144716117 601939017 552570660 610077156 633757299 660522943 186918590 864578699 569471178 581816453 695707480 108055915 219068814 947051715 910921655 839143451 746351849 630360262 818304678 114486120 405588113 776899009 984014047 803137234 989891014 135342980 186726826 546166325 882987006 411583751 346645083 258426695 878439622 640367760 513259841 407785363 440752235 896150437 102423384 614700304 600958907 269545117 642416590 582957925 695310216 913781266 634050286 472268988 400609163 153235788 174246224 985413356 251024350 451124250 279254936 947581148 378884126 468894908 494704535 606882363 933917014 593273860 875665151 776800585 847941135 623582513 988276783 311188393 152369207 568962814 475303737 760745760 311920233 901836756 177397351 918077306 287173831 415876573 833780498 886788822 884683828 666415697 615332477 635853762 459713976 667576736 264810492 714950297 115009415 563699995 595776176 136534628 286168410 542304837 308343938 170046658 135297149 337330317 422725634 296433641 944716182 373434719 968579730 883134335 754380959 783652553 977719060 344734800 522599744 991293858 212344698 512517424 912029549 913653157 683289992 384432987 141778496 658813625 457443677 693167258 471634165 942668958 747437767 837959910 519795183 445537921 296263657 576850595 227859374 168624128 410055182 402785800 114753474 534042478 243958232 424425270 769000293 893872315 633096885 705215304 505180961 796297498 811927476 866113404 702964731 543520162 978736323 283610231 963282201 426560698 524635800 915415581 411869525 478415677 252030235 769808397 836356207 203966640 933564561 661893648 916196619 804579704 857587417 722702194 408878082 677158346 719122661 948842801 953410409 124737040 996539415 379114975 473537926 974118065 822122702 931555703 201682278 375810141 890317235 375013667 747360056 325613551 422135007 355105471 617891123 430883206 265164602 258281716 317226848 928579397 281263850 303303069 152376273 414782230 170373093 128636120 400031270 904998509 144624351 895917265 523496973 703591252 486678215 130519949 656638438 429144846 501637586 773191750 828856942 996809307 505489486 389441531 530508388 329761186 540664131 827648599 520107283 544312121 182688812 789341421 208096865 233243093 944054917 632250654 180103298 404479434 369425074 376630919 155064670 535320231 121160560 302879806 471224396 286582296 522868358 803708304 773129057 280036855 891608213 460404969 951736725 594677284 140384273 687925140 253297955 936743258 902858112 520303345 341927158 839976412 906096728 594457751 439675368 274003368 498833222 342911678 351116022 848799822 734863329 901303050 781202721 509872578 309793435 890777930 489861676 791293821 643064999 109110536 554081089 956800714 721379735 623302292 987526209 798909778 796710114 559451790 882161907 734899900 795599956 589266296 118890971 408468524 450828353 670359351 333145279 676847780 120719559 418445224 209205017 244044425 428077915 209819629 531015418 976356091 833403660 905521133 125671871 286515431 118344173 548104725 693474809 127158720 497384614 561080978 202194310 128539135 714124811 922769684 405867796 892205121 847553555 103889390 605454667 869861318 767487516 184186633 584813608 876180313 330613710 556500134 148871428 555900110 235977046 854372994 302760647 864299568 905084035 733843316 799585135 971794560 571605104 515178196 900415456 225025546 626775451 904328226 416512634 308334826 917799157 911390383 846513884 215605724 572767617 984858805 674715544 476884247 312535447 323787150 629303388 643033458 818840016 134353930 550498657 534577141 170264721 819124676 404646371 404249552 672986136 126495775 694566043 690091481 162620978 490248231 229836024 619515658 150494533 291989184 101033079 920035863 271614615 716481126 922252100 219474984 797055676 870067455 215158934 737855512 924940321 180459928 463362556 821165038 298559467 946762394 401027205 292591992 251323721 684615402 739725438 753624802 334818338 249887463 726133817 646866610 502811613 846205859 844052449 325567366 330851989 367792461 846071506 579869001 295081887 551287564 931918237 838454628 354304794 601319113 567137318 877218882 839887014 965124944 978033916 644478632 278262467 468820281 167486683 510942576 751208226 350763752 350276842 467856881 334167247 275528916 578953666 822708090 132983328 874187322 127919370 302420274 346988682 578452034 335728778 186272983 690549323 342496424 432126805 442028604 912029847 597134972 295656011 218940411 191415917 368558940 691803196 844027215 629830156 154652300 572725669 928480988 125198868 332198645 840406668 180124528 744826901 937154119 150192625 240467984 416768221 716730303 404265221 321223135 621989804 315558683 143863703 433471422 194247373 507855014 405977381 375283143 154961777 106883821 706272562 643591946 321449393 413242760 663741246 977777194 623143183 954530566 904998398 581515826 132763165 465433640 775439745 424023886 317896187 907721333 583455868 340382712 244730143 610421718 663419881 171675360 824206206 709852266 338759222 814207435 227934327 742850585 642903971 637048997 744727784 779758470 656664205 220118700 993321722 439586429 285187868 608618353 208415434 547314623 671562944 862063478 819033391 279762108 549033875 871838652 181932399 446020650 110939982 591301058 299885912 605158366 472414495 973349863 116400182 457189299 960444403 515087055 735568862 324319092 903074887 118283811 849837014 209566728 128712776 111071153 280225829 920546672 326221616 913171332 468655449 647054603 940088175 926151110 799013510 722284181 740785292 576991735 393978301 407523373 822248849 101482460 309483350 956018746 504159736 443275453 689640738 605127493 987000330 893047260 788835673 558342798 856154719 954701433 592263475 449451111 709050195 595033442 991186346 248201401 671158105 102436916 850470503 856387807 625202705 400493688 306106298 414430024 539528403 252649136 670737657 736633347 258498022 944196920 253161850 456419276 219104385 275062586 620613433 995094535 705324860 291134986 523468632 132329381 723672015 532580334 781738211 886149835 168553768 365619985 945511268 122477455 623555577 691068091 614527167 511923626 610874082 929102417 810723506 727762769 490848404 655159514 424055273 447268031 515256502 439430096 378675727 517265668 394763003 903354401 992318878 206432755 174307160 839833928 543950690 472625561 144846152 345223077 106800860 313629120 838962029 103604226 844131447 519074158 485483074 977685593 927296289 308546943 895493506 916115924 594901732 586621892 560293292 920118196 752180271 343925675 601350092 513232277 529082559 155119541 578757647 172537647 507191269 415567395 563018529 822067573 697066842 530622608 438359625 686421132 472644642 699556973 921463231 221559040 771593494 437103647 362498563 424664273 533545740 996332698 110801706 211844658 569333202 671090533 236318331 598511516 370240843 146358208 803819698 165805255 834782883 869770403 898940933 613914178 302791614 121400345 183718114 322574897 332412720 516032146 214305016 989438524 428599434 617149284 688923618 265078652 857261782 806173049 411994624 649240315 315888293 651390850 662667185 852570214 854494254 650660860 707869959 998539773 413474303 890058690 775817868 964600355 381419104 221610613 186967746 896281884 801302911 666971253 265245264 349897217 486838707 452346523 892564260 443362003 695085618 120506473 673896195 851660111 273902657 103002828 794673515 907980886 336351887 500322174 305067108 196190572 786507626 237877871 921586981 655510626 785177658 623115631 548064029 721744485 970516386 994037186 803543858 501105335 905119974 740413951 110462553 723360522 947613545 294190762 243050517 528953351 574895964 881841700 253373185 971099480 275579640 971328893 203011931 604613507 876899731 369685204 794439158 557712963 629292920 969776314 261662672 776793404 902953834 752820549 483413428 887864414 517228400 123952974 226741235 599085988 202153302 707409220 675506567 264417184 182611724 378575947 801709751 339306019 809520001 704900471 307424273 594903285 161358066 627629804 537272873 417412402 188311478 666682170 419094272 757342199 692772506 339015966 424521779 100444523 513711490 666860105 236361260 282217586 438142620 702528788 751634231 398589889 286931855 298245648 631061081 412721483 482620028 731736861 535621366 281948367 416415170 151297710 779888593 163165984 650806938 296575898 175057798 909782384 214878962 649959340 535715859 106749520 557465077 448952457 131256558 107964695 102304597 695093844 346770211 782309411 468331180 158032518 806909785 860578197 616782384 409627246 179591322 579864666 740649439 969232566 967540683 653380213 347332053 247702104 452837317 176128763 700785169 579526687 997618148 682880801 101024854 559893809 743340682 319931117 347325121 269586693 566625924 203504074 224384886 942014312 961391115 676056275 218233675 395373021 976258461 162958729 910800520 750270080 957327710 821259157 280346125 706713677 279681851 788471290 805382621 606791059 794922046 969789028 196113613 777536874 952096596 769102450 473359046 562650910 927268456 563422285 117904959 463165654 360469509 270810772 862713500 846147108 760541256 139812889 399947720 833562806 405645469 130587188 288177472 650497113 496866550 315862890 103904536 173120222 400753172 102800693 415709076 248330611 969586457 688907761 484114475 450614067 310412508 217275458 639510079 828519894 338801689 157916261 538533398 967673052 436045997 610173488 365018711 543156146 368733890 173857786 819789602 822376568 958029308 510886680 317947089 542238076 680683430 637237797 766598487 648613312 797296914 732815654 206220075 287655945 872900377 250175914 664557094 311254776 398929262 541578053 576416798 520162650 233396331 946231525 891646250 984823476 678627252 665900003 185236882 879500439 770564902 611442636 632126063 305803148 585753217 751520992 473613241 645838445 780848558 407384357 994425946 790216095 438216109 900580001 208106424 454373620 987891546 638905406 771492583 361570436 303459805 672985381 523400837 498490622 448023927 424023820 673615923 127875203 228404791 904347209 703894377 251102048 308522375 718976732 109803269 873206786 932935886 836478692 623230611 819414168 636600629 263493609 763744887 582465871 200486270 973337541 913592455 748268148 872401996 693052580 237587186 794233798 387666000 543864127 965675471 691508919 186617500 933365898 122000005 430580908 877800270 765460073 724403536 904659261 673260828 381814117 426694947 519647737 527267515 308314542 398304480 992955876 633597608 605923273 606474976 575498152 272463951 455424919 619190563 263862657 541714707 559674972 533317557 495479060 207403366 976649151 865501070 457553879 691297927 877912514 607031668 760497733 840688309 809779696 828324152 180898351 405717253 270788502 188972747 298246081 646345825 469730870 868423988 776973041 641955158 722786729 652503610 471376626 937466780 537320686 752430612 630401618 723459221 570790704 761949261 425091699 655109694 539721751 594917977 547203118 939365142 520409813 176344054 270577359 162150078 144369838 215850757 346155072 834680585 662026796 678872613 238239818 791996317 829879464 385347778 965953051 281502362 335551457 833784540 174520827 237546581 126339924 194534744 263952732 977844942 369190111 118136656 130299740 283012647 265179488 278868737 388545283 261819734 712132736 415815544 671765520 979532079 269098743 526571375 574785023 873049305 220959830 114681493 290736579 474084090 359024539 417303531 437388836 575744003 501917790 514677636 242834570 358271974 923601384 731207260 881777228 728506267 167295649 515752677 788156945 368474937 383381054 747335572 759981242 652420427 996629662 651277958 748537372 177144684 364959020 747380864 980296244 387974840 961294495 345656526 358416527 245675496 113511252 537264914 962925679 624526676 441313948 941790790 936931063 394779682 328732832 314468029 559913343 608348332 932961756 518293308 470586895 888354734 867082196 826134673 726646651 643943155 784149423 929143252 134251537 562867954 164310450 619344103 876902516 911491072 508067901 401120611 171929214 722904649 729587265 909202228 451956986 286994766 347014488 529374696 963474117 365650311 554068005 530818692 356786316 156643075 393002402 542646889 440646077 123132614 126821985 104977531 457027625 700139557 333254261 995603202 922378998 200341657 795108060 468018369 781185938 307903205 974472164 162595728 126530553 867430298 777841272 772906035 159739239 888759290 146936358 520809558 172174813 890227647 582433567 429049670 300261892 601727960 998411225 869295701 168343943 113796162 902353973 848745463 148492162 212198956 363230321 214109082 392633108 519696971 102297722 829721118 489474589 318543179 585373126 604312995 388326523 618645957 504319801 785570168 945260174 302198839 753740821 765037532 743601366 729559325 249947237 255832426 316737907 184468142 221276973 644605369 549791347 881890767 395262262 491163374 755173789 448444333 471001628 792620246 709854890 837303414 322589895 127218799 637342073 979934518 433555410 662214634 721670449 533973747 382588056 585758295 193725612 250873913 386094072 916454359 876559263 882743902 416624695 499350837 309235448 180014305 814621539 275479428 834987386 647245623 846774442 651134429 935634666 908531779 410966640 280127231 175655986 885905139 684998154 532049325 877711413 591433085 209099584 953983798 929056276 824904671 852191692 481483858 835269050 140980676 235069854 764046581 725125146 822489417 724740395 397828549 748883790 457042174 592216423 877392000 541585719 635581423 461137970 834899841 823289101 821993658 959961126 691245332 376904806 254570761 176650569 722735074 282617117 222500797 306026355 398822514 603329995 656958730 943176427 390914457 311252959 665039051 398928803 592501409 703780110 615798278 525619987 364930879 792170159 316886663 123721782 698135541 311774605 943631083 691919129 553199263 761723044 320290709 254078529 690671430 891348870 928446180 158875270 196329382 153883015 822232066 172907631 536655784 192818518 972627924 864150676 469610393 163885192 863892130 279367917 316825535 713275096 387865347 655476947 550996939 688348525 317103543 590065593 955339214 579823621 522587460 707220469 811364314 120860870 415573770 792791451 968176708 390258192 453141713 600814713 749138066 512818051 664987819 487036282 158800670 618240087 514122228 673723556 796174029 210684348 319602618 601650670 511257896 591884292 675713591 552488980 513009678 407481011 184713806 583642835 567250190 568598623 837465145 186117244 990047454 576476188 357565693 693624655 850604713 468108102 812889859 959456555 248730472 514446924 108392300 560845882 796148421 186680330 675782611 434818458 158024100 715866694 673260938 954948297 354303305 598631177 848277689 162481500 511505864 226989618 375720530 828815092 368120340 746217328 457958565 538131583 713283304 928636809 391089166 423718283 969453679 862698440 274729534 322587110 171223361 426691579 490119901 138112663 699057576 464311362 255166532 801658075 602919192 638822263 385684562 809016591 445301610 583847023 122056209 594785804 979343570 252287245 690730929 769666641 779698099 516329009 128595427 509285448 145041892 875833453 298953572 353397801 848913602 851087312 474074228 796133130 428346977 662077658 456798775 963621776 751525358 953138034 853886685 555050197 547240557 172229041 409106015 291390172 978931337 121343629 328867276 387211991 704716582 987405560 773631818 996739316 269254498 847705172 405714929 718296954 787935118 220604781 207154874 107141808 588896086 736759515 239491643 434771641 549297073 551057552 287962065 189784056 440189639 667646663 900778436 725427432 662018323 432315266 373484645 111370182 564057044 744845925 462145889 822748531 274309452 126255491 627937897 513832035 393156988 675310899 836583550 665764676 423961299 281272747 476232824 139561016 795710781 686647697 725943908 329997960 236894168 462925202 476481158 190116769 195664727 904140905 823268552 471947480 878459804 906312786 237991731 530661315 557145574 424633353 815983240 956928540 750076642 421254252 818221734 983386604 385917438 946994505 271935952 181155615 687222380 601497271 961481245 917011201 777915152 943913209 283381695 569828722 220342389 269799969 104091191 247685761 191390179 874751123 353543149 788057041 499588127 781877970 887836565 277266663 767217830 345957656 286855887 837283870 478371168 121881058 857368864 463018927 160328309 576088528 614822462 469219323 494253656 302999493 754704388 693222775 388957699 569174247 451579500 461749453 682295543 825278916 393107951 601858943 390348702 677972811 690577241 689931275 461956077 243769088 184548994 735529355 768685310 668585286 235173588 302793316 175963442 693703300 443308786 110194254 924473352 671421867 655281654 896134469 145734672 288182381 590170485 878093817 774280034 839391145 642347988 576915205 623682218 752481151 602909936 489453211 331194521 909790627 870624832 672813686 879858654 984239451 892652364 626278335 423301366 294324041 449778667 581205027 808524771 693363777 322586428 247097910 473278249 699636787 666483063 980114275 850683178 151012926 409253457 277264947 766188540 774722618 136647455 499841068 245405429 783541506 147529366 262494237 574522388 511708286 474614896 603662570 369063440 551665891 215296822 938755687 742321248 215773828 168406448 689310432 450379581 128317432 666251742 333867101 246608716 683003955 290929415 240700105 789384252 500976136 870216614 698895842 258497676 296700491 176516205 523755614 992211158 583332740 124331346 438603085 214985218 878042445 318046087 573283915 675476144 857488589 908389670 178942146 274327470 872585324 884823975 629064098 275332537 430616035 248978178 169937791 639472081 296663632 636948736 256039301 833277785 891710386 812128131 818852543 864271322 273736884 831162026 945281013 741798377 566827523 104063647 254433849 672929540 293061457 104502810 536273073 273358015 612019627 764377051 641441322 388623758 748259631 526651097 717327676 458261825 134497549 422574614 933904283 137983690 754374449 130493350 304491035 558763072 246962267 468851737 871560112 672513943 964128754 541218500 935725999 337796465 871667832 709136726 174972876 177419942 206880441 321308873 967731484 495892755 785262697 566331197 481067390 853067054 552019378 991969205 707979020 160985613 961061964 944327840 502341901 947044308 720503309 201494509 533826295 524347451 418691949 358574622 364413976 373437493 277488923 699208382 460580134 230028038 981385368 840903317 596577260 985792584 930813844 313246459 380422483 877972072 302387935 379796692 985455547 160477647 614782647 297672294 398770790 586083790 827958269 856372916 972989059 725103956 845796486 632530044 723036632 784101499 245502476 580798639 369458299 856239975 492559656 421241643 399653961 697869831 402177936 498649011 852067079 145346248 468979702 396439246 385695006 155740613 611962023 146036313 758715974 509126216 550177008 473436354 116209754 331043645 713580053 481461733 316897539 249822794 856861012 411152588 798452541 776873929 274789932 666233287 250517766 953300615 453900078 893075610 343687910 524918774 315599881 876226708 557478878 514098415 220685769 932797621 466448094 705174545 878291666 902593649 737060479 634625546 556272385 418234484 742995120 385896085 359342091 816605768 962455960 756764609 308613282 288173759 795856986 882286659 590527599 564547219 275455689 719030153 143579643 613096655 538929766 408457301 272437442 925238504 831906631 634819922 734919128 167585436 120678270 719494790 449681131 536205210 774357819 139641598 522715197 386142224 949017940 604737631 680794330 677791316 301043121 299199246 445465560 743610604 518588956 497606094 432661599 945790873 999114474 146524789 739882084 240658531 234896385 299616704 757742801 420648167 644704116 941518630 293704541 340296747 561885785 628341009 736403836 322390822 749274310 703276714 342975534 785492031 312941009 806121155 471477870 176146442 380767481 942604798 996413930 820909303 636787310 509662045 950884323 478055123 206595705 132044576 426982347 948026412 387863776 498470545 681256118 433302209 816298110 737681075 935195264 419468051 883201722 674081773 964211154 895742053 931424554 455348814 207486238 995700580 750166417 116659812 119421063 278857412 116327495 443874635 405579654 762246476 313297230 922395502 918271133 898725097 283380684 387460387 307907279 899737205 557475991 291919812 134275520 862968426 856428407 132226152 163397489 705867287 172542960 622026192 615550517 793819072 552080529 604425554 774802682 440433971 524654792 366035673 263323431 739315019 911467440 908212948 244772943 705245731 882433835 511024396 309014771 499449728 779943896 670983245 152994335 973898442 574934193 516966075 889418325 385244532 186715874 644911162 382152308 763376440 470504026 237936645 578390921 671253565 373830499 793075749 367873199 342418517 403303588 453012681 612183111 678511258 408373182 230358302 899843000 747272661 751451319 380990192 741532088 571406299 907485991 563556599 962076276 522143997 335021734 183094241 540392047 793182217 175825983 863142556 423411597 438104386 849457361 126857275 855243915 523442701 444987417 398362296 532002102 933082090 918919142 881155845 280147379 512907461 962455955 274741361 647187097 506473542 239771128 142603880 786843590 284887889 752846907 666634897 107458282 780141326 887079076 134021183 650225981 429025601 495309598 490120833 514170741 778001526 874576520 486665729 241082297 524335686 104548854 154995998 788857588 879025380 699359354 519085254 572014207 825316659 342900930 590719178 694734189 984967267 141669334 959200918 682210151 999688357 806113981 190220661 588038087 933306120 927854597 935952609 984108138 264617057 769138401 212066104 112154924 468273307 149608845 609671837 279656336 914449877 118331307 984445343 405325894 835854572 940643226 240025423 432454677 845099653 379532932 838099349 303820426 876004142 193046034 689213283 577496037 627590808 775507644 672774747 243943564 759883487 451392117 120725367 293195186 362228853 249327119 826160099 672302952 885120757 731357099 616387928 992565274 681296689 509542560 359177715 838556861 828155659 920546518 506873453 693907889 712911606 604075580 766696460 162746703 103097343 458173202 401750484 499581599 932337764 879311674 126514574 265707884 927684584 432919355 482982057 454859790 134766077 175506934 739591986 704208400 441568825 744053325 588526312 282868774 105933486 121703543 324458284 616884352 128141256 405460353 860595558 176579358 391820600 208661802 641506836 563287736 976028907 628938531 343485759 864223570 107190319 497190413 316713319 351546459 987566938 149364922 375264431 812686065 558172559 971504264 288637531 712990995 164092261 421004875 976780329 750163377 686782507 132498568 257907908 565844049 831318452 320549226 180857916 535510200 911573984 380480883 807516259 642850795 797407243 499249681 229422936 761801142 971068162 107108627 167839540 390919661 551520146 971311352 200504688 543881306 149863265 832832236 833775278 471486493 754367817 855776629 519549430 494642831 453231978 559336530 577683785 228629306 152234585 193839418 610477889 314931744 358760380 904480288 894294996 820274225 428389146 798027177 235395069 549394843 927080964 986249575 717243930 627668201 824927972 238567111 820315662 163593598 346627492 685662824 572530431 231271213 551151391 327159493 359959921 981775396 891832731 826704206 374218798 555677430 429991956 593426240 933907511 297612913 203223387 426307604 561877233 724090611 835571038 474777141 928743570 776068044 427646418 812257011 376730804 832684705 918779934 448289481 174646493 686465111 655520041 186285099 187395301 177752928 733494458 186407314 923502645 362188548 549385007 209334102 994341688 321295381 225894964 319611339 300482148 653356403 384393433 233302138 930492224 660799741 789185422 718688627 986329789 797831182 405579901 992869611 500239906 992661526 431534254 850238512 397760557 698475258 259682461 828225753 980705387 418409544 939981870 628325484 326567699 221697041 126184302 955743278 262125246 437583867 459986791 669274340 541685764 847734989 800094835 150010797 312924982 541651870 782927221 556173125 980745489 614513216 683304326 146583248 518630338 740499802 325274766 444660545 845301531 930837604 789437127 732368162 985706837 233950351 722347422 823874280 240885357 449236506 503922316 988761835 550662893 369959989 551335893 712463129 907596340 579696569 857199800 267228577 706640782 412515747 875964714 395951167 492842832 361141700 786563486 938520688 577892347 694833251 661453759 310869771 882353255 572930420 159407797 751318395 673613961 625467304 686045049 759060374 176448340 972519621 364168395 673263054 423397098 509993932 178633163 977345224 484877376 192578657 409282670 903011713 918358636 726405154 133622941 519280925 845616912 140884593 254358144 956033715 566243522 456311326 308070859 984175195 248866114 571806028 425341292 850661421 760370226 106683668 239557920 921796909 115407094 574816899 489106095 257402448 286967676 292411511 608035325 989568247 658835752 671102358 376628782 542609318 468995720 228778778 962083742 772240563 347004048 688135437 633731098 369386974 474749604 971183495 654836150 143374792 183017920 604410792 648769276 182305136 686541364 377094573 434243395 833107259 853428341 355427001 259058061 794604626 225506660 216877542 245974858 927741277 857025656 561626552 863408477 106787432 588770837 497869659 111462511 245542011 536484766 762772892 510183503 364720753 810525118 683391080 819245986 723737167 982333819 649553232 285927550 914960597 131109928 469270677 113991525 751361433 210383028 106922087 482315773 347195702 194995444 575413209 495020958 246970961 237573057 524573726 305925980 132848053 223351400 237395447 676005508 328829842 495784481 149577938 540066587 772160876 631741747 160921721 864401140 511906096 539867098 186113288 655549184 251677349 779302138 816893949 471370692 754632650 590355828 244596153 407036320 557614179 188958466 285347914 732202399 673778811 378622404 632651966 820017109 923648077 427754334 327679500 703778722 851713274 889241209 397483021 268654359 178301253 627878196 191715708 845793175 299493259 656095084 515409583 958428949 114580401 956962158 411400525 253094794 820595915 467796276 586464894 330115588 381513381 522306044 939344657 665594723 826982292 787141326 375509228 355954870 247923437 453465294 885886701 398766530 160573564 110184097 714782265 306627146 299203891 583821748 544523159 838084947 566016011 942526012 420626911 230467731 761202995 854564465 703388717 183594952 536326339 184059281 475303654 285024557 532606230 403684786 740630075 546868499 832016715 456170225 437098268 353911734 841635987 595143829 251547788 176303840 451431960 504202173 185073807 115669859 409935790 613199737 535340334 686480791 169719909 356103434 538407521 700597270 135573993 318571941 763845677 387962505 612323603 287436168 410975227 994496964 643685740 185948193 792455772 170793198 593667946 427606373 354964476 196210212 602538692 796294044 253828737 581475428 150265267 717900548 419453827 892266429 417641014 879464913 444075510 656015541 322729278 291921957 443891044 184158300 638430569 821568344 791413851 202700781 386928173 962169626 701560989 734781447 576967065 902452391 613745905 994819016 838411848 408643449 685965992 865063318 289144832 250603325 818388478 399979938 827644327 283010559 636404195 874254632 105349988 583483644 607351392 418225737 517924414 360270996 511414634 423349481 712331984 224523213 348005204 521930279 879028043 757693097 126710675 811913368 542845478 264445121 307879289 184324016 114965555 743894817 493479603 524295167 774205798 309990686 650095802 852845578 620136983 567424179 133391100 282358004 919423463 702473934 387122088 875203046 648660291 675143529 647224957 163229224 619659501 234203900 298264773 974812837 873169831 356804334 471297710 795321809 429643016 202421614 816320473 930195107 688201193 429178037 534454255 494180414 244506016 185119767 268980274 937562426 912749454 435343161 414424760 165522443 688924500 762844885 739415049 795112652 582562170 637038799 132802009 118054395 218490476 704876418 983966669 601603661 130379847 702150275 575949046 458899860 604136982 195611202 464239138 566256612 847861204 289397089 440004847 529612045 925624398 974403745 906145904 482087565 975122650 175804931 268968956 106770261 544084416 828735576 410489271 597088074 348670365 687345168 106318808 466309910 574624674 472931607 365334352 495020815 182138047 264051190 926985498 324272775 579290069 890547321 526861625 702675604 473378884 555097074 850137806 518624452 563876615 833119515 318011819 830545542 387743397 550388637 951928167 829378190 981418037 207428460 848216584 774405951 427913368 375318461 292069642 139555958 363447625 622908141 530360832 746450397 605243896 459198340 812333706 365015280 445800842 806870480 224314354 386029836 706162194 182608952 413749479 626435337 343388818 727226749 555438395 636015263 500172956 509020594 910129673 323687990 333342453 678221976 377283299 399861087 813509681 506606389 429601820 316631871 394400041 236391088 600550578 281135617 728133939 752604013 674236650 437952950 532046636 321772376 905451158 831610002 937676476 424845305 812460571 435056181 672623731 965252269 569903350 138820062 334095545 622133318 166617171 322262479 720095513 787329630 954762809 902022854 285893924 852866243 606974073 324946447 523632831 403500844 293221826 717523890 535594518 304217242 767920128 902073378 143044425 587488297 713603514 589623448 445296745 740553931 344790176 219531250 225514842 319956620 668632816 860140327 113584172 772033659 454543269 260822040 927518625 286091790 464344995 442791651 146053767 946032588 877544695 814102095 361100188 587992889 173790061 416827798 818516985 570846415 427822009 568057027 206398666 715669169 213047234 518206993 744712555 156151256 468918488 988651130 871806982 983857467 698645750 727975623 424756143 667685515 376926294 126236245 389620405 906470175 131198278 514135553 278811224 543366812 364136759 681245634 783940846 891451492 389830288 576874906 539828647 842737004 812363144 434664214 540355354 114278566 319873141 275619907 246736850 453742032 838013649 858536704 684441450 651737563 197301186 769554766 791782162 932148330 743773634 949657479 206970550 533385535 613821339 847045583 674470150 873254468 157973617 593539624 794347144 621565443 553906169 880466180 226887339 741187698 454629595 485461697 724187172 808440911 251715934 765338676 567071474 724367222 931825972 967363428 187372400 134703919 952282177 153598627 783415609 787512946 282138200 233555994 290204365 296135996 104632757 359048327 584032973 949102009 334112087 501446900 350422092 759730448 552917647 410182350 802532804 310559989 654438780 861363831 881695075 337381573 521018223 741069907 255951630 289772761 874915816 198546153 276847542 875646540 602919012 443194774 358777954 633854083 872515532 737542634 929569456 883274602 305898895 503494951 495104919 944227312 712771308 283333587 278681999 371964214 252540812 139381687 787574112 897342866 281349641 782872104 152419164 965935899 361874044 349467414 753277829 724635474 548843207 222627801 855328954 625314116 536227857 682251581 998325352 618242338 924774366 486752960 380593279 729820673 689612969 271707369 191694558 270078565 707339868 863436944 483580143 769996240 743805340 222569058 732190449 472331209 504712264 968736400 432877755 888522866 522943495 695609692 535736156 514763345 506188726 908021085 929888432 381034946 363796660 977842891 995754148 950926472 108695308 459194493 964374480 704695613 294002654 406589406 427086172 633272150 482573308 408319985 502271922 319805210 133261955 389148214 249063677 139160511 740115692 737337462 107067684 987151040 191164899 652067422 330044533 814622457 665267322 907088485 594177199 379792113 530643718 407142366 976147546 173519686 379224919 745383147 177588254 486943636 438042727 214910446 518143031 518494831 414246056 439457225 230816042 287161775 515072817 846134457 874249142 851103166 954201942 574095850 836550565 599337559 492833496 851069022 160422386 371788202 279957890 194425215 487285820 217639297 102518406 245987742 289083675 657805597 847625446 350339705 562132538 247408630 193525359 480467704 842140741 921104332 394644160 940580440 562638981 613691499 271271827 184350028 677799710 347843207 170026429 234433798 121975073 233097894 902941720 740065086 265766548 360034912 649165808 198682462 709839805 890824844 555831470 911016705 605448861 333213944 730789392 708281274 179178186 230813318 730217898 337588102 153579045 247507332 862747207 362100341 863583367 659663117 708975460 529185677 455658558 802119455 274626494 421321649 680343273 682913729 973422276 681681161 868831153 914678211 468046204 905172492 315810286 467059196 945927983 613045286 884933254 379768126 350307312 892404988 380716512 140091143 644118685 724723759 250469517 128732277 647327697 831861049 133257792 540892886 116451758 828189731 910436364 745708606 489879103 427675655 134450958 369160032 697121986 485643168 525124318 102894449 583963434 151637208 430510991 822908298 165995657 523264225 684112077 261042524 545727686 202415066 850614073 232460492 739844651 221799691 543375805 697922027 259903151 619748975 567642089 477768110 718183799 488687763 579735601 324554402 469178230 789943425 317695203 535843463 411607561 550571242 576263680 180673802 505451827 976973368 745163432 985868351 427780911 926966762 944144155 106595717 929433412 228186412 812636357 912619443 926690029 638688866 555827219 775289793 958415215 682950022 342945667 150702931 416566807 689332657 956086346 796411200 876456614 809168334 843733275 939630295 760484409 254817756 691839513 324878881 271793388 144165523 915866102 279169614 806502116 476226257 236360308 858922867 850677653 907821659 395939876 233503291 644828427 142943373 584496123 357955409 627738661 514535134 716994555 805446867 574512842 728238575 898969884 981389328 161152921 462689285 879469911 173197254 895201563 463758432 818186452 797885562 133262191 238235263 890356782 787911632 523943344 145525351 143027815 320211081 796203602 679347983 807794836 500370442 892393520 170678504 925124463 137098369 292584518 111325495 124258222 442567004 529606684 190339713 574535943 708445839 835332141 740752137 520197835 808516183 967015633 241963763 213213048 642411787 471101228 870523225 138380539 419691394 614224689 540619107 835135911 355477322 402329228 936019638 365749624 600176802 545822687 732271733 506811372 637018109 583736670 708106194 874581597 751849727 109284460 836611666 912992753 169338560 166029060 965143528 931939888 898073180 785779551 572556385 957190019 438093827 462219786 710010554 781905352 855291042 982935025 333683927 478673191 875799912 312550848 537304209 698648375 830098972 692796142 420492277 832588950 571822491 376844758 651627195 974201157 292920048 489180840 527615698 224263789 871773576 381461853 927758531 470404020 125186829 935168704 617331911 586853566 954806232 589930599 625584400 236758084 789901422 963186311 983770643 680315504 204603459 723753771 761530114 760565983 964515290 711870002 486730059 317639499 673596941 289305932 469042390 933716638 678391031 560635598 687529140 594913272 341031329 583955281 164289503 686095617 610986288 418649742 241597895 517362112 828964656 489619463 985162273 393616091 721039604 337893373 946717829 771194831 802354603 889935973 532697225 356262972 735856966 889114739 835229703 515122578 239476403 637287226 477112098 927888896 143691471 775045754 551328671 158857936 684282598 432470631 957115887 587840634 167484020 128586612 684808982 466783091 504879033 800192947 641018351 725140465 565711963 794725141 463130449 536663327 995661746 967593018 380911592 343153739 224474466 507464264 187253222 307850681 639234757 145749205 528887262 829600886 261614132 712197858 452127529 327620124 241161275 484622110 256665113 797920231 437127828 576761841 382229896 453989209 542078387 458595188 274229646 485197113 391347878 162279994 653921280 309024558 928713731 814857913 621147165 856634499 158040099 527299691 418751666 617915094 553394413 350135985 285027966 709190956 398946658 405215530 597729323 523056087 662352743 366386847 751351642 773331391 773315321 100989716 957325436 684363467 581800107 224468055 945499591 722924081 839996377 346485563 895846448 355035017 459805645 918235095 384964172 247030572 614234330 811476276 388849952 920393768 351445209 567517617 459661907 980380606 501926619 436809804 127796412 658385052 933800550 930045138 592069216 783806907 782323629 782917130 649182411 991509891 641172861 306488207 169872507 385882261 154953354 573708136 632970712 237990214 864728601 415800764 207058064 471973570 943033721 186879408 603884616 482824026 834160991 223515705 737823010 802362298 251347903 913073856 155147340 813933706 438672137 793245300 134211835 193917396 137949767 720510868 868146151 670253796 263028356 143212772 915982923 995717788 242941701 148109022 191361600 835494508 260038466 172784057 661983167 420905579 942654310 637254456 721074502 832790341 447496349 179730807 344993549 130033690 197284409 974005747 844535941 868564419 871849497 136102523 136553579 327894518 794347166 926830679 931351631 366401407 529488852 633722892 467573280 195127221 762755042 864108819 472702050 143011423 399833556 629105202 190237065 198593482 566669365 323398012 431963109 206359384 289225363 344644708 377263208 278379311 744320632 321282544 824578240 737813077 462736292 582526251 458701433 663000965 954922757 301413501 774922335 341937222 681133773 840501585 133634387 489017210 800257797 799421619 985285234 980365509 696745167 502597402 931154101 861599927 481024487 790260145 823826767 926836290 937210224 980190754 767041040 346815013 634046899 911684087 513826800 556470116 180885664 576739291 642975629 827304451 322780152 513876348 293807862 138794369 997636455 742962649 363004734 329453164 346137780 556989301 803501294 414320417 431435706 575604111 341202535 614994405 681193350 868484707 151849000 670675514 516504534 533612683 458580975 732793672 613612454 798762667 240762186 639226879 975806829 877048308 600971324 203085683 425048593 221842095 935753311 818439531 446777612 989175713 336281467 907218055 118201487 858365143 744198616 733260496 835705246 348976893 200888778 308911957 270526194 869966268 596698565 283466912 146927054 681542115 549633302 545635330 332869919 795344319 791622159 827201960 730641781 514510289 487274890 535880334 514478928 887493133 699251192 924917068 688765726 772280480 393239640 818110153 833744589 496539246 317208208 865185055 834840930 799679005 342393729 889897819 416564170 355641368 509162572 731851537 337805712 239071520 224707651 737231869 682005894 783001392 164895868 726079041 874153324 323134553 274435644 153810856 577848719 361748094 869773343 676761884 431009455 354670566 170863290 330164014 158912112 299053840 290913326 976350937 476466797 967257699 509181784 636624717 513463985 398471507 536702552 340464275 754479629 176667316 217304204 973237805 456488312 246635782 793540619 956939715 888559015 432298281 698764077 120343443 993466398 342701197 623581272 927289034 650290659 329659012 644283426 573532370 410162132 601031603 595478622 936938848 528424529 436683404 145653695 855052003 370886175 993873757 794076853 309346920 723834780 791636194 909050787 623441229 256713565 221934984 818503823 285438972 694077453 101155504 697696939 133139612 963537354 824121119 594880550 482872682 489799342 735624132 646257661 541034709 919926632 709394031 895730667 584117571 670670814 161630392 112941098 395492014 296999484 268070184 930607256 388874284 623790862 930896641 641158094 265528535 615347219 900485296 796567875 491288955 902882329 872370363 581584741 201250473 454192285 583360350 765358767 265613403 557246192 979691555 265092009 395138148 980337705 775163527 498316745 839938738 687022312 502747803 116166021 474933599 998537621 343152025 286806322 149118374 700803733 486406259 157748095 452193186 225266020 973020896 819615381 536969882 843882955 141350783 355132988 802404594 367488212 881805181 993733270 165266709 147886792 157639009 278769762 340964791 534778210 441381079 982322860 470194059 432615708 101339458 270634550 138299788 686312152 867937634 785704485 321025449 338772549 514103140 989768040 929649158 618849728 430607403 739151544 469688248 183028738 435172718 880326817 196356441 736769194 212451326 296326768 711626358 529437395 759026930 906852666 189458112 910439481 765386048 349071875 533332077 825303283 874197248 595347285 538131971 767204694 378353339 833668702 618108129 572335226 971595698 905729242 288815855 566453097 176868975 766963088 639034428 415515780 388847378 421456383 775140693 994460355 656162599 759238762 138895993 839963024 953775633 758505364 398991512 259472829 951707768 831784963 838489670 510358444 252401377 903253479 662098504 911175379 874788335 671018989 968382757 844884429 331245608 798276119 129574831 680511850 895145469 547689535 983393858 144627119 436589082 625894147 561671952 518581416 884678386 727783996 971968018 413781148 890262358 840582102 734704547 575623414 223846700 372544139 938223279 435947446 769219685 350193342 631706648 105747891 377891720 454994435 763880082 461021638 542294958 230717995 119741927 167894560 402882559 390504109 633232743 819261142 200902428 365290106 564305532 684616870 624659552 241172410 726849914 471285219 466450932 901444182 374433629 257513422 978499429 883483359 504393058 955917893 599634130 211533969 888723796 593171086 520199790 804610788 609681595 563977741 977698245 306122326 559673390 606467399 623472216 397116871 696783010 475963474 423008743 378266109 446343986 509374485 639739354 272723579 107834266 795624323 724480620 546357574 260261036 355122791 348898408 759052071 891800924 353641319 307152706 738522026 488030966 521351208 712824217 640188821 316069572 396929956 765981211 676239855 977292697 503304448 789490011 561258512 950884915 400892699 159244152 955901896 399625659 612095177 662372241 222660968 385039728 913941201 558227303 390649546 930434877 551623838 138834072 919730499 756337210 755692839 100811744 772149484 780213880 560156450 714193989 551419243 290202751 686280862 708225994 412975526 917133989 980492139 886994362 353667309 942219005 359785986 812311757 598701811 503516912 859514066 303049164 483561974 656280021 196183587 262525901 752597762 406595953 612616493 383616894 800232728 881012082 610704117 118419349 322292179 236990396 332944566 414973073 302864663 215823282 542510752 624678686 426930164 134166332 947334627 568103024 723152309 162601718 653412194 153668974 436583574 950828609 890538833 136403106 238911130 446736591 470468123 970623024 543816723 668337082 100536868 881067638 225895403 336741543 276676917 771912884 465374345 339183691 106878160 260682242 158586851 295331552 750390735 435679799 444352987 495280256 717180209 896018574 752110256 584343239 253673280 582221446 606047883 818874606 738802258 159648413 113102618 526636297 578077214 779715750 290064923 651221608 414553305 723386233 761622729 236296912 380154137 400334101 781244655 483121932 624102908 935037354 986069312 387330099 264452981 645501636 979940022 521160907 282281723 778561456 846320813 687871024 506729466 952568818 572822209 350398638 382154717 914364169 552140824 405442460 402341682 444212969 535526865 900485652 744133546 681223629 130537684 995440228 435209498 761029389 328709068 396252171 714471858 184527397 908762604 112921099 178247261 793010441 787797337 248239151 622558395 167075357 821862294 633142357 451347489 369376495 512161755 531566879 890829159 724353811 248407256 216681280 478370678 878865128 262893975 221761398 856612847 954201606 742069956 597388030 419717565 869328646 609194430 874462502 395424344 657184625 856925317 407245339 657041006 401001045 658676777 237613960 591624723 817878329 892251856 654693936 952948262 671806948 211334980 265207087 283867665 364723730 421433157 121372578 702906560 712767484 420155140 660292291 863204247 642541528 323704426 112061085 945119414 145232242 616668891 576739402 872644018 884146422 663562403 531638132 360157443 214138578 541846007 383500448 423274136 788413632 354535513 290415068 821228884 813142739 784804117 293746145 893587119 814114778 310469315 357178351 340923458 786354074 661157858 245897374 507292915 825125383 290954794 506668272 160610706 117833503 714502267 734671316 922461950 174987782 367217262 144473403 737244145 369527012 190794602 103223983 481453192 135930671 351991017 284384491 518221035 170031968 422453966 154219732 344891110 209408970 118028870 387676287 351406009 291882229 889076294 893143047 606385946 600479387 610134046 934732615 788027804 666524073 756714732 156722520 277865427 719862910 461789970 205631876 770015766 340509303 405262360 700623756 829138586 123351868 961420426 332643045 228240928 755860376 688471735 852362677 549527594 955321650 949752351 145173557 100560016 370676460 353579406 150514389 491282174 807097547 904382756 988139399 920931070 901455404 727984205 150179814 207348247 700285222 460924423 531421302 252975566 851050419 650579284 758801401 754250874 107062440 801596254 560894389 292313800 300903583 366122511 258329188 968778143 873726075 103693748 759876927 220863919 469636306 315255569 936264775 966950244 598551162 418340916 693949432 728191670 953491824 199397764 811054486 519947281 779302171 994744965 848645498 961945717 328777173 178360509 629890674 812641708 976526340 307734115 487277157 358719261 123436684 851945790 903291728 158491580 727141148 447415373 928318987 827033974 131069833 119473884 426745791 209435909 726582572 447438426 491583272 767347269 797787704 200279307 356920148 227792085 856466561 285511507 148421512 583214548 298881017 931152422 209953431 145045205 901365474 276370385 624126145 531034018 438602844 534656845 787881684 513543768 980499111 767317028 622746825 611507241 536758385 124000448 451546297 744215914 670094554 809600481 744383212 407593435 463843925 356841989 184617605 590676903 780043563 642776767 372723113 160356629 912720562 754963525 567907900 919239458 250395914 490233990 143875827 890337703 287637191 133911403 952898467 148127621 377338041 427501387 992875865 751865876 868419542 203881646 720980948 505498636 375981551 905460544 727311813 200123154 808685898 506278400 891824705 892982163 367955632 195603736 375608335 551298081 828904434 369407834 474304566 405633164 792686508 588736508 216023066 622299028 896757740 714884868 988099585 888306425 865514864 703278813 184141394 624549589 390830996 325180520 177037928 160698084 505594883 785858752 252786295 254199831 721161092 471467693 202286767 885491970 414507917 853696519 614069450 703054707 621790402 281815135 763205208 829043670 364167650 659471728 475785143 739453687 657918923 529315179 657543297 808866201 737719989 332999174 791879835 876225251 128594192 492499419 791397476 134854978 756169369 367863577 297535677 959824748 803979910 349076489 697002963 101097369 271797742 512775373 473483169 905289129 367950339 327904354 648515682 195436405 907848505 215639820 605253784 353235479 155128577 334388518 627783296 373164251 259568013 330223269 300437334 776657959 154739797 301382971 624543662 864957591 649927890 270073131 420747427 804143790 104002487 995157150 996440550 229941443 965779204 980882860 209336080 391791856 105445324 249839133 107996643 461977033 909503293 922947404 876063922 513630528 353786997 776421524 451747128 200626674 692636545 805008995 489678979 157883537 351567496 123447381 114066897 893717692 314797454 654249260 593956460 539059883 738470886 179122788 494475772 187073678 765229548 620988685 216489332 239404851 891296914 707808018 627137562 615300530 590493785 505603952 536782985 765007220 798664400 903888558 748083697 301115302 377190466 778737791 462130611 297347914 380600521 799870795 549699572 930548110 870858736 441214243 787792982 964688953 901235403 173552524 735126496 653469167 438147498 822562801 710340018 925311294 838154234 636047835 492407131 450803023 935767863 635238388 179163815 443884726 381906581 773235606 277631279 942874114 868462156 970521248 761454807 429915227 160147597 487363992 434454160 368501377 418749865 676922208 471325834 137682920 211118457 865626634 766319167 381289619 465664609 979159303 582190289 992210081 426121472 246259819 939810591 306065389 731250154 220694289 816671100 444800933 948422782 111508400 499979176 469797191 739057693 523672365 924030018 350034971 170137030 277273192 218194632 355761593 114848002 112677967 654519534 831002022 754195587 757346621 375112594 895743962 917094529 990535175 638944506 816119896 901818325 478151398 606299082 554794326 497222703 393016847 786788967 492944853 711563399 957844176 421219376 519774283 578106756 354505508 961371856 995033752 720339461 330659603 756873204 328506922 276073299 603405540 345037752 239205940 644879775 428500015 611994889 437955996 259914714 679015966 808079218 854077912 477387552 160689284 446506693 903016138 795169952 547952842 868229703 484035283 961162878 508623977 450857605 266396067 123837650 737343442 736149542 304266241 473852899 326872240 191745527 878471822 312331624 558773804 363535967 119575192 555482004 140810085 744758183 923808810 815411088 183128505 829668242 360791038 255921532 282367825 606668336 479985946 978535732 880161615 427908985 532139072 876562400 621357772 748838755 408206529 558897057 302918141 412033263 138084789 666855119 945922709 852521406 839689426 170100298 679071659 410879754 964451497 246273604 809763493 151352127 244926743 231152603 904135397 615609372 559596808 992863171 664483749 318471441 513424919 938726847 127715905 850121373 744806175 795494172 844012401 418889452 841053373 297181787 152847843 383590510 270317983 907651380 789516798 424513723 368496880 768002172 170278997 954443747 546665624 479499794 118099190 820300179 339962910 811400298 299318333 994354236 252879365 128466007 723617280 205924603 166926419 948559159 112448593 728083686 879473439 406147555 406830420 675270061 718247206 267890555 535152508 867597665 794043487 410421886 639468271 664132766 321315378 337636840 712892627 199536912 986396177 251819705 427171517 393153952 800963267 184521715 385873243 722086103 498511944 640609615 976727155 112958334 669073128 740358793 230573637 209034344 150697266 320359821 238461287 831111972 900403441 812071752 514162720 589543320 276459955 585307153 632887705 621566493 842065881 596761365 425467608 776527238 428417703 444374613 502405867 599035396 259026024 871383439 416340959 245302384 201621928 149341645 883528341 813325570 688073002 860676192 505099088 191158860 471486711 551687234 738851923 991158871 688159739 143789865 127860543 113300177 527906394 888079322 216012460 857377935 117440636 203739717 318272985 806408568 640358286 685773617 222383593 594336633 236785832 860552737 368983625 308062801 131743890 782513160 722394369 851443817 433712006 445732293 970589594 971443695 221000699 432410277 293377046 373376768 364230685 672662525 109640035 378027510 886902886 967211337 467444410 309376769 940258429 832203401 642560722 623603145 679056518 594474133 536871617 893431985 522805202 258460622 827045521 333222819 438645121 497796484 608020403 572453926 169219885 453524582 221749258 791825763 374989987 129211379 577550012 798241954 402441592 514250937 131375701 495269129 743426681 975143319 105859817 356888781 150463689 572796123 951155501 781063889 212502729 371614425 489802895 272699957 123709296 817685103 811391989 485867338 652002870 878489360 315374469 481990515 239212161 980083315 708975802 486220575 559598813 114436877 125409871 340996161 613712813 314875127 366647235 553658742 413538110 660718190 460542287 834545840 474421272 798594719 607389933 443606913 134244869 853808922 898639425 998103919 215692000 316207423 215955779 528554855 174721350 140838941 198086758 589858971 972593553 952795802 604042397 342218758 802287092 729446800 174144476 501906762 837240907 149660766 327195871 688199344 957973365 732775979 970507124 851188917 548062920 183055027 311667953 917074281 557788493 211462343 290970934 385499092 865628736 562809964 524551616 385576881 443549866 908135720 219434411 896171974 937664368 762110163 341771926 770999539 763223039 927958768 412319276 529051910 919810551 501611133 254067192 901169781 991273133 567338168 232248427 942816667 489132810 900356995 440945680 306365502 148101625 761608119 473363581 754103015 572544544 615867922 283452861 505889841 347912767 687392372 502129634 630720017 810898033 535554497 963587139 864720803 800854596 965387050 124151021 389406456 368615396 650314769 818389622 773666653 662768738 904851577 181010808 443816384 321159745 543377981 224141999 201584107 798915776 714692879 936936668 250371014 292180218 617840396 146124146 742921505 437024505 226438201 468544178 671681880 659588711 774024455 447639589 110247050 421576163 178241151 845424295 364839535 251903371 880110620 501348749 222188730 907973300 118313588 731502921 327469486 667734895 751479606 976614152 468643077 984810521 766458305 617348473 966641965 527684408 173351500 124940961 457038322 237239696 618838020 505667638 610607576 263333593 809978046 885211072 186451724 668562204 469158389 727968105 999561465 135873687 118396543 519303644 974501011 957485928 278318938 856514153 351292685 417571380 135514611 654234920 909798977 716006006 651337722 697618457 181636419 183649771 270861523 517970158 765881838 241692365 464117933 853380825 762166473 265658553 142520656 326766411 396596105 293843006 111914920 808769187 997700720 547715500 657412680 966154535 355689144 389109114 556763300 579956102 830394756 291717108 238564474 164982864 794967953 636567632 702939139 192173569 448457225 402548349 981704598 285226337 102644716 812475817 233902451 926774715 948158012 241243700 576572088 250667159 691144576 740625681 860895626 716611628 626936352 301713257 538570573 591263384 136105436 332545948 702503866 735276366 379785846 443815894 754711005 938145071 823085593 774991569 858217823 209336723 578203330 469543693 296131744 374626626 697429129 945190405 968616423 245134383 876614685 390188390 807275088 460277710 283520873 573861067 350246703 206786928 915670702 666492352 130521550 663853761 831795168 908697575 606181686 371741416 636958265 648276846 407626602 767727655 874279989 602774516 969112149 510558963 889510592 126417728 336244125 370705840 314566223 271051339 436588586 837158972 154905938 432778003 604806165 331445096 631459122 911035082 842504156 345978774 963650750 622146444 361956199 303636189 459753493 980480510 405352259 700784119 385544859 154792223 538323876 707171456 616974865 621153397 272213444 980695159 123564403 217093437 406407971 438047071 646794443 898551104 542021479 285115815 444403838 211059857 119740679 569271370 356967062 628675155 441741447 613645497 589539974 351166754 357310735 771197290 554275612 204944032 324593218 618587291 108544943 726107676 707806376 798068677 349270993 629291643 111669822 136837030 387881557 614381658 365100437 449040288 694464683 366442735 420947966 668043882 918155123 986364507 885339474 252838889 288994817 624163554 738268346 111342158 317102391 418355251 696032074 862570438 241618274 579404195 428207499 140786413 373999204 399196818 787850073 703283520 422250515 762593157 567768623 586944039 848437511 752683836 329958100 730067440 991017929 538007520 142167589 895016758 736126589 793209584 900405435 479262254 716670852 348233080 259008386 740419366 114288387 347858373 661802933 617477550 870245517 847817945 661533576 751419293 209549017 952778843 342043356 956149058 584911164 469052657 680189649 568146421 962933954 307443592 673306455 879921875 239650552 649831289 130367494 497570107 883849382 710831838 175761445 578145274 242063586 262097097 336635034 233100205 331270375 960064033 842517462 220833813 707998680 654704357 454047783 853175790 570258713 756149478 207982996 781621094 761727315 986628758 273511126 961938437 283817210 145325283 321349975 463288669 619387350 468465468 126348215 961861595 480238316 748489785 409319720 127714856 867166424 419169242 440921373 497981957 495813635 711405523 509353203 605607360 488266008 993781277 328477446 529067917 946125659 728157707 552324870 716758684 700616067 653442856 130485251 160444094 693546654 697807137 442767545 678764910 412784479 121727569 542718536 835370744 294902772 880564223 608975595 809988530 550489511 207122756 691313913 390648467 129978577 197132630 915544158 244984808 301294226 684295580 844613759 608603432 193847839 805019876 133674814 578419557 945914479 886632121 905101047 838172750 677245314 736972248 766453967 861679194 288041522 113199205 596580049 273430748 985812868 459402112 656408900 761411056 694072197 134615481 516577176 916155674 824911860 298525931 846082221 584324131 684549449 934031711 134414192 598057116 576531047 842357217 775392508 139926155 730536960 294449736 307127888 712426398 237111213 361921648 281383359 560221110 823573069 402274279 777665120 299808235 138742038 541831576 682305681 707065400 253577858 549288706 467716904 370550791 859128041 486394138 472576279 282921047 164804743 316467664 744612811 773010467 741953394 479080318 640548588 173148623 829924736 625747360 885331510 908919494 689128461 498903119 263313025 451834343 671469840 747750187 885228429 695874422 505659449 905558587 963487172 998965731 626032595 612525387 962177115 841079647 364382971 681108334 160413783 194432238 160944133 636438548 896259987 876049049 444043024 132492581 172908261 689215653 119700518 478899394 776716502 989989145 766587443 517615744 925323336 384843420 156180500 780941937 507076074 125507028 162025213 824905984 777973255 269196664 137887855 692634856 178910666 631782015 260632964 315011917 884461240 868308024 522120523 877445715 443256573 541876117 950612650 672212674 702156736 318104624 920755105 771488335 497529553 469062120 667571888 815092896 803910518 848726717 401918094 461240131 230467848 789758711 407576156 801859399 428477529 515501497 423419951 384179183 975035093 141190433 214497795 754848199 650498185 197641632 171270263 842184214 859335351 858578448 415990075 731578671 147276186 494718888 861485867 822862946 870791718 815181396 999566467 652110194 699012244 442109303 142510337 868629683 835518236 556065445 185637563 524053123 836629377 857552801 378666790 278649363 284034512 370549218 381253433 563820942 594716488 739629647 858818094 110643574 680394011 772537070 820949831 194013606 583366245 223784046 836124746 869145415 878519883 481091391 972687119 390948395 221740101 616669847 765905034 721641154 773524750 687302522 573870956 876034596 435447054 584557171 248789738 304371412 430836071 696829972 216376642 792523657 594640014 617678010 499158145 944203736 257727540 320699403 415873685 931494522 676841243 782171056 938260388 482642508 612144395 158917328 803201256 928724855 730951861 264538062 858523097 324126206 647548996 450036379 653885489 930577872 224777987 690946100 769567255 533237232 844383748 239064914 702788987 357400318 101197858 564370980 471654118 812015052 969716054 160626096 730413965 902562826 106507426 790404607 480007535 974032791 775129668 215938202 839708866 416550114 306873730 286539433 581961065 417334828 196980277 852166106 562926624 325822217 585526717 454625874 774161351 139538987 826971526 540324740 281806035 933952851 683393076 654499628 969563381 522159128 603396708 327200480 619031744 229575108 239847593 597133582 623250964 891674379 715916001 298835985 165460149 162214217 876127303 821954673 815343274 565849390 424236763 993016338 546011713 510088644 896690253 924996374 790419916 962984990 934620092 421608845 556320890 920829957 345205730 753512394 683561337 178673969 841292761 393697380 654359491 868795445 546311084 271595997 224327831 834206981 449944790 897287164 292062183 157884192 261668164 243829346 173910058 907284191 646001490 406360878 283558192 931838436 825148712 152730622 819725119 484533546 686743742 206085707 340781158 426100530 110218517 766844267 499889554 527463538 648090249 217601426 930853565 502394934 748085476 645826942 645966495 304116378 753064910 916014844 251282249 757222555 758965657 832126354 680839948 448733819 396239884 595866348 935831434 598762081 645078355 521231235 358733037 733976998 400783808 100524342 918629209 911561054 473399374 682132072 704836679 130322390 158570120 804053552 957053792 115854904 463932226 197407500 691831384 112648729 138191482 803977049 437502191 651133684 911177091 579173030 828477215 276138974 173228782 204759256 979812634 370115487 692064375 429114731 446024963 276289875 208110824 382304870 663185959 733265737 741535794 754598342 784787930 210119003 496858842 134193490 544864076 508994217 270849506 881257872 576620759 632926161 669291990 218631603 969075584 201067849 361267024 245337815 932301433 499205178 225098145 603320244 362985846 646830892 268142037 666236135 629213467 608321796 513794075 468406868 928840196 922265436 442001243 496938664 919116073 744225010 773699721 782863009 494778415 487744368 962279740 692981697 454054351 258740970 940323238 951194787 857846989 920249190 198465128 312526250 636723169 605713575 851116806 384440935 807255101 594398727 515314068 671359139 449200341 476544429 848935275 482737996 938183299 156958063 925959669 515104692 670514890 360375011 629287662 889587754 658894896 499137778 150383507 727025273 898937896 170114312 495452730 568497185 301808447 932869514 717419026 886776043 872983182 491690923 715950533 790276782 827430421 400504084 958198446 842683438 265020156 324143536 309581045 317711960 402291744 749963279 473301768 679163736 433698847 705757997 416644920 308100755 502081236 614220027 386739932 250059867 864243955 358341347 678525614 204116459 696980749 665830586 792193380 182775043 477291724 900272860 498996678 107077678 132489909 969192229 661245096 913367532 913660888 976192008 619471420 966652949 788834064 224402545 106264304 351770865 346693124 497133887 125804925 333886627 826207014 128535427 562242898 938660704 993023306 260151112 291269536 795926715 508736524 209517326 566345222 397363121 266580386 160736758 400855016 844069261 252928632 471892966 890788295 272094043 834181235 609250413 321657088 986620777 849386908 756959338 735076947 613285228 413544011 557727848 123795012 729644594 778227597 820978777 961927331 242174954 457256289 588986936 812914735 397811000 878576751 658287785 529677555 259924250 592319251 766523597 325236324 644683688 279627348 648198255 150131669 959925918 601918820 609375648 859100541 227262517 933662106 308415929 591363015 628924439 320292245 799543936 120284477 881172212 732153860 652002735 812537478 264215213 607370841 879957963 576251531 731959403 272667987 650012442 752129161 414850733 116994966 425538781 768056903 622325267 284267322 507285717 274972832 806795587 645995401 982432049 351544590 809561496 639608589 333385998 227289387 331717862 392884938 166018355 931627782 954227206 916540713 224747776 516019804 554620672 642115815 448283962 176359290 895898233 277727734 681328583 708200268 544394059 583851757 726906051 331444768 875907713 701537210 901155025 706848700 735672075 642115712 750881805 483900744 813601531 437776929 825976973 223731641 727267648 882603262 460552702 613938674 351514255 583636876 118927413 993261109 888572911 644083957 430416703 849418426 581039067 322020442 582857450 892989711 409243441 414326052 240492317 667090906 493422666 639133053 842352099 260642053 116525969 970306913 955510556 882291999 248353567 528033363 796571871 952992440 630482421 296433144 342947623 614313458 787820935 369447358 264778088 410547867 639628796 965132249 761789866 680236796 363506735 493751388 591819261 281500164 199716197 771929072 624748961 873632808 998122098 707637229 665560680 444945262 337922592 394996979 836016615 618365060 520134816 249175598 413185167 479655771 333207996 485147985 760313741 285353672 385364813 490424451 781151379 576430583 377764547 432811693 445104821 812083695 825343387 296565413 306670636 361397444 825937140 203495922 251849112 344634166 996278139 807633093 106921597 888434825 792008945 694037813 435014756 917530244 486471534 705001702 232977689 898069738 498321711 319145275 266767500 661902305 412874701 797671771 966562860 776347180 164540321 886563637 265687181 476724761 687975836 936541993 248551135 488762930 368203223 960805669 729424510 273755640 928747597 597190568 428117183 559930311 806948278 116275105 713504994 802709644 690809102 911532547 462163925 321555984 411439294 726030678 469412789 461294066 219719528 211241904 805087218 570590426 272854507 401625365 335335267 508086121 862135975 948977614 925160375 851498013 469540631 271300450 393982009 602662492 295524465 726652857 739028693 894320016 791196479 211020337 721925610 135250452 451675822 145589216 846816359 429231666 206031174 182378498 347310549 821309836 786158073 908466343 579915625 144101510 778976959 554596956 727458099 675420650 156092522 409441325 210057203 287093038 101993266 375252565 731061048 137884784 104173086 650313341 661732992 588559425 781106819 676658299 423032319 958645704 429966934 287708980 222357963 698235073 460872613 954868577 867192082 387230171 713376010 798963686 358294291 135459441 196298346 988156926 503071217 757436676 261249289 597786931 248799349 774326652 814889038 933613914 946518463 252981747 326577769 639868892 819133576 481199422 675068871 902939019 438890819 441304322 286288145 274652340 908196682 420700736 282520671 716761407 944314354 179636603 461292553 280395642 862442491 626110570 633991165 907174731 848312356 237857595 499158689 668874807 137040029 191368466 255484567 371795177 854211521 486751041 303938304 714326260 552360825 681989696 910206441 989738432 133045399 985868630 591677289 312050693 887863069 197203287 467086482 693341502 330632068 409006374 937018106 692895512 142524331 823337378 812529611 172896442 706573041 155490102 393124955 108796866 396498777 525231561 796274920 584483404 477828384 347393974 152366763 908887232 419119041 286331138 168598417 775732083 386604670 868853047 674056712 919126152 643180206 691339212 875401315 443889793 686920951 918699586 292803493 575649901 173079729 821946772 104974268 228150426 549763326 577374778 944687666 707599235 968505588 591991160 143195212 228545718 752943031 499833624 420210964 670352291 818497096 723907020 470277401 747916106 471070991 791425825 505370781 908864762 308412074 248406306 223405715 662558842 451922052 262324128 851627944 465518525 354712532 584861187 613710216 177161126 715126698 231378506 932389351 865861732 362430505 450820949 656794561 734082175 962971621 307863529 524673239 770950757 215205245 356413236 728297734 616024191 410530633 766342981 930185631 623397143 425390030 848361415 485233625 770438093 657902678 759542768 817214584 575648116 925270216 695567190 247310079 925126640 993504295 488207927 362646589 852294980 691966622 371506988 431721344 584609023 217166931 242045539 583521463 520843422 276828880 348321181 640908400 234392176 538559355 831500214 752000942 698624687 881737326 423019987 459640537 526843905 439336127 240864130 204678557 777092736 230886865 921230774 247770768 644037439 272385080 373521612 754145717 814626375 769203441 676025247 978738544 673755339 535798753 334202119 211795560 790815550 935295149 550236094 169506416 285714202 332871334 860550486 834407952 300049085 391608023 681472591 928419981 340035738 611232812 465466315 372197887 523170958 120485353 305856521 137108223 124320213 286563422 887550166 154687524 815065502 176964563 465344962 649575444 819949020 275066717 772970587 660130625 856178319 791929604 484031822 142875992 957164029 386219809 243881999 476510093 252097511 974998908 112114282 617072733 316866496 310017100 377255857 486164321 731812414 421880464 491140379 560418513 326661534 905003737 727246384 529789949 813272043 256745276 803268693 660030369 416977642 443679495 145852314 288954911 313326051 420010226 787050573 240900869 164861752 197231529 341076842 569889693 526280088 231078010 918198593 300895367 833963274 242765247 248581114 187356919 937456203 293264881 650339383 681042424 441438921 556262470 137681001 750062747 786373673 913524681 932344528 259390529 634679391 185505118 687094907 461867979 435981262 429911800 553046357 628650329 892388479 535448957 149867324 810083297 520914213 726458870 850888878 538485068 349771058 585442888 415057330 184432419 602490621 988421176 354867704 161510543 932757282 542517137 662909203 874428086 538998863 876638378 767422169 843441907 710591319 294570779 324047879 161302910 547937410 224741532 247291558 360294425 183055936 695832701 535010468 109357052 503915588 424337745 225784538 914681160 921476746 744962894 863848163 418474807 536954473 824508474 479073189 379664412 537038579 502218111 648142344 308025193 522945383 896803376 465068196 413851114 832410797 180713664 734284526 126095763 491747049 698057377 444865353 139079773 888935462 178452945 203003285 645035016 734785066 333986109 655146645 919813191 348074822 129504817 499036403 880169329 166960609 665925378 300959296 900361915 536151459 298882061 275067452 767955138 284442913 274416837 563242252 491901516 251353997 431875989 612537323 641158524 343727099 951520168 631388384 592251085 735586380 808865989 581733250 837350350 260104452 788358211 198649537 561199029 163607734 760173597 787742478 601893282 180763341 291647750 641464366 652340336 828836526 136071683 281117919 945491958 392684400 160887458 338646044 311624152 584820241 299060939 983628488 772393535 665171186 438732050 104458203 808518441 922614641 581850483 714598179 763270899 776233914 251697886 600988568 862219005 911675005 708745062 529325312 794195146 495979424 861238982 755467544 679064682 542617736 693107532 237809189 729188081 490220030 649327578 257712129 459899957 145574841 764486137 772536732 862502222 165403807 227079923 979865546 373820220 831838845 547181747 922304054 239831988 595714591 231272014 877034931 544720816 485170544 122942867 240659438 618580259 389831108 555122880 800538062 156301299 956380487 963309928 953708770 182909822 883881933 645239405 782755475 930055246 242512091 663769395 477316059 608162040 804566949 714032646 185242545 556085606 186761476 108101063 697810635 912726399 550676570 531895721 860810873 206338827 575179327 133915691 381521383 983279381 449268145 177823748 748897729 835932640 756474322 253656116 888826604 501616228 955265884 304502361 318278936 362690168 288504708 421885084 290414820 173311015 471422972 429695042 687612407 680532946 697543295 761346723 167680388 609790314 293367393 529260900 499130553 482840192 147567684 335770894 367031166 818312574 173292780 353948464 649934942 675597144 148023047 205169527 803328349 828453677 890016326 430048579 110989047 893892091 545358144 244327904 429331991 654258422 955496084 655859619 440917513 876448782 870873706 342442223 349417453 842790058 768914884 281445230 986580192 923443303 819798041 625248818 240710751 260842940 839005613 124115667 386735320 975093613 393651118 408877613 509532401 146212589 907335832 385412931 163904387 935222645 357649292 445758352 699722427 389937456 913607255 150969605 809262622 783885025 723546340 723941117 681517251 529886071 471664342 544880052 848367279 897355228 518114603 376949973 981067110 300770484 858187310 625113473 170792820 207223651 919688982 364982884 198114647 712274668 321367744 215845836 323928276 937001809 499958988 955062064 247486021 446321038 426191326 294783102 215645535 379104585 937274411 316147066 307072061 755955417 742001850 506815941 667890325 726073973 519057080 965633022 898711149 746681251 310770538 750051313 938075810 642551234 909577657 480169811 825783346 632216958 475012112 941283566 381684739 331541468 595263195 366880630 341178069 717811619 353317614 150942764 684228063 702235114 379676676 447882883 156525411 629935317 295150241 807049530 310298644 116668854 390068342 627823734 780547424 571091786 933995615 220829921 837502912 401955371 139920931 473694253 467473152 332365740 599030130 934068030 653232762 127351981 654378276 375387296 599284289 300389004 253400381 246142679 404891047 742380901 976092290 708297977 416628404 289336970 943981674 591345638 467537906 349137779 540624669 337616034 644253708 653889756 213243073 165768980 436348262 253471611 723490794 222362424 614811641 586105357 365165197 588709763 626022370 762513217 250160866 435057464 868801027 122470184 839668327 612916618 837898688 931949009 960036777 678036541 395718304 119605614 898720411 141749613 381461026 198796477 807034720 737258983 435175476 867912137 540544186 829961094 562974086 923757322 208094441 979440259 627587106 628694629 605335082 443322697 487527273 348481974 571325040 664275574 116832429 368833138 900354957 548602017 940946413 269744660 954356068 703995768 670543184 327989197 465318086 382991579 825726699 407013133 615636051 102919836 228477540 995221443 407791206 921600115 786246686 782966404 566830317 991714313 487646932 531247743 967884327 661830252 900670962 587785170 980341500 112662846 671564007 680454683 183884429 308626865 293130304 349423260 190660501 797920103 982185647 275718370 635916792 864051070 836697515 803570180 462489318 857418388 884574303 938673178 447772076 509892017 589290995 280175565 230327349 729569614 426681756 797698020 974383064 863187327 503743004 143439685 305615051 830935096 271220448 997838878 140018487 504532800 272770963 148459885 187724338 566591311 305395997 192208891 845338662 934714434 499922309 125070994 901810393 223170088 419084289 882006550 686670117 726016788 524469254 563936890 771142553 969647330 284053478 565144914 889398150 322137838 750945580 745754422 842821440 296067445 234132368 443379070 409249284 221699305 182585484 217442710 975603076 228275377 558411532 135060189 481652350 653029245 311302587 538504254 674888591 126057531 142812873 280832192 713815084 174657520 586409333 938660666 917448821 897381390 935682487 301266667 580423334 235245071 699966165 167608575 691276136 639588424 944125646 775200603 901176125 953044660 527483886 774524091 514743518 153704223 437088177 176816028 122182387 816217924 202733482 790196281 376387099 139411226 332056213 356848771 808947253 534513418 841370969 611157226 757535935 252426337 882143987 375474630 853147667 713584637 178790677 417258631 633139489 880908738 802358694 565593220 293614316 699274322 161074486 239182649 903800413 765146285 831653849 516914175 280130346 722388880 764488405 611622243 396879432 696466596 639490791 512891186 925963537 678791241 390934912 189182800 141531575 488554606 812057947 380862722 974155853 352604981 695407852 632644412 507015324 666129676 187099363 479291086 983053843 208440315 524678556 457795825 925112618 537852799 328266159 883473133 775785723 737028494 213122522 736538238 737198755 515693814 260647193 116256031 770580721 949729035 700266087 912157008 483147817 859794929 368053745 927393941 808197512 779453905 922098188 151687550 221658819 702098115 891666643 796894796 572877074 757161848 345786801 350920692 809880385 918433487 807214326 832144535 769628366 745849404 175075642 475393679 646667863 785713579 228498971 981552705 887113432 646890478 219917055 381107508 907145411 914832340 626882261 510346764 933853972 143795633 796175976 165886975 881526211 521581027 248152874 246609825 214954584 742135797 214680663 123319494 247586846 586068604 658372452 815325941 478905798 956960337 109630711 770070018 344482066 986043135 200892981 329691034 943547771 979279586 577659661 499802316 653834794 845163109 935112208 201644926 646681635 243803942 639956103 577896942 168285568 205675679 956403109 694717782 670321633 879586805 428632070 162492765 563995225 163895693 896500410 545712208 898669381 124244377 710369338 109380536 611020770 951432316 443071974 767977880 472199177 259017163 441375882 816760721 245845482 440712975 855116327 866630051 560229540 110045157 395621969 872875672 434169393 130432692 316322835 809511950 922855918 977373165 374660512 683906395 621231140 656914824 237915349 200809309 928865936 509195070 901342733 427623542 394858468 442210421 550405958 530453827 699354201 337908490 863594252 421395996 792699139 285287309 824451372 372966735 823831958 865120852 839710694 896643108 963803456 383407808 331621732 106778937 661287453 396453439 941258347 360546723 136490380 452583686 975082022 531053852 670936608 241524499 103270840 321185225 920000175 640442530 378586847 836755878 459562275 772126085 803293314 136425467 824206743 531593941 152997111 465851462 737621014 898687989 626566547 674701615 776799082 574230265 381280003 752139169 238619595 119539027 794912610 600721546 399973852 133908696 765350557 146474250 814951590 338736874 662664048 339405125 443291565 602800568 602037680 508393676 758228251 440924742 324317937 476406573 914069417 388906108 150139204 301731824 224199184 566260220 440809636 656267843 537630887 765149622 472139315 389052707 537838235 917942891 439502381 835352685 887360086 361389155 600065186 639182136 252931123 693900998 242459621 958916463 319768719 598183849 603773541 941884597 123510812 900433152 220314124 557999576 135307797 924074547 155280442 240614417 413383604 888189013 756613701 179036698 779983915 334685739 772762490 165973898 458075753 241188680 345525370 934558764 500625531 891966777 727427908 117705593 331854333 494398132 438323484 678341758 430598241 182721825 809373464 462359271 465783669 778784793 716975477 767366488 893578877 210031833 618105222 957652375 239490999 136121342 170492847 634169766 884434270 293426875 780773165 507794838 703627030 729602738 858342466 979023933 837877716 549701884 235602280 819764557 833608003 505864314 631680012 750470137 960870109 407924612 977290248 921034498 634217275 925226238 731103897 954609418 676469599 955897669 696893684 561065697 593131224 559522042 145409167 209725885 465566444 577149687 757441721 204218246 801035887 776758826 645256962 197914029 289607396 447477449 204947609 361352768 239308005 738233448 418833741 384263848 599996560 851871261 537406179 196113999 608813954 794356903 108910737 570524350 946003648 826390030 175262332 916072401 959956424 296469316 405575991 930413973 960168254 871956513 719883714 450555790 654461517 172715269 617654684 572442413 363155272 339024350 678402295 108425777 209176021 870667528 993092349 589379176 670657759 951797591 585649321 232900680 782502568 433320327 954055529 356733021 960493306 144389224 593805779 925678523 614717090 628516612 478287311 190231948 786806948 249181563 604317527 149719180 540256421 240093589 878908931 483025816 176685952 802265108 961390088 873278133 149615487 953000239 181199262 189540429 664878536 818606945 296183134 469134701 643933950 714414780 813242358 268541130 624783722 289491978 822646047 853406713 928989251 271761561 979758689 567405409 791761619 940605390 455508284 905723273 234037937 988960454 982575294 521812522 830473572 213847653 879760332 439312984 851247254 940283709 901396168 189093047 833438614 124468418 170656326 835193462 214209129 863748773 337209363 955354197 314006134 299749764 486839045 370337175 503213999 276974796 438727199 358506462 959375290 395393265 785441687 526780224 525047611 328468993 110842246 265827498 680395515 297564882 118475989 132605131 971011600 128358000 340665667 268901772 961861621 511191841 374452952 159226782 408341379 962929180 520581843 523071204 100237980 144610453 143230356 586798613 827927745 529631245 959085023 655508408 316899933 394091417 767351747 404530195 829227667 285686076 980497520 402221009 633655355 240774111 910952697 542840474 319150567 753895139 917377602 263794908 853213213 471590736 164985705 689865408 583252412 928016398 147736190 333905067 363436185 740274869 748501057 764906445 175468021 271372340 120217200 460876804 724368323 782358102 413045556 499282867 312165897 725020845 837203056 508447306 374128184 595144567 723113227 192501376 745516964 576088702 453471575 604582592 675473229 801250320 948902574 666853458 381381784 324409245 234609229 687327713 190556046 642419872 923580405 206439264 177127580 903867466 212470834 273863842 930115537 448428817 520012622 665745077 855253739 347647385 905275852 837179518 934499398 644229654 227179522 481489765 285469301 904239079 735201914 829250110 645060045 124880072 696008240 864713495 922874407 659795176 923409336 617989189 201233249 975450489 860473434 329699208 601663439 636265429 680132194 374676929 544826450 144126934 882875533 293317355 484013265 391905500 194782855 650368234 253807133 175121259 324885769 102809428 880306692 641836418 936472998 544281286 762934756 224021253 327492717 952487829 390654174 577701781 753042632 333646562 691892356 449283465 314591700 256285349 867330532 426285727 782131519 598329959 372619933 704169979 119165901 966324292 616878952 183598850 267146169 236353496 544099448 641438207 356571444 472440386 853010637 376539234 356322045 720404267 241241205 970011575 845776599 260288938 242437540 430244117 115141831 752618462 460979924 429686796 775526187 307259172 694401484 782303576 418297987 277724498 331593277 436956567 447025970 569010053 571392979 475454837 704730788 632233950 608064495 957766418 369339366 365977750 530581284 478514094 955074374 103937223 674988528 318365115 450181429 896024588 423625713 492255929 577197208 525790123 457379475 303910465 421771410 288814902 511064499 480003865 900578820 135353703 908590034 898506259 603296816 190758352 388172853 636581345 405443498 251116312 812299796 538686380 896678727 598106951 528741570 794720693 682863831 335696832 309401746 720780435 862191136 171237685 280897622 748032039 564098376 813226537 733185842 313796159 217864425 831084331 483811440 893559383 873058988 490328821 995191970 619301177 525426941 465590692 126691895 521019812 179861847 262221999 467335772 175360666 272366413 506160992 304120325 471212525 844881244 131421489 631008908 112963249 765936545 540716756 201889673 621660764 863512116 220172554 515704286 887282118 137710116 381871713 232198574 344858693 607994459 129503377 911142965 230176958 565730331 956806611 998486555 595185453 960204934 507245455 381123586 791937724 950800602 802431280 766021319 335078355 473709331 954559685 288871582 611885822 169035177 312035113 712864866 385897989 778707799 591419187 573421613 266929026 219080858 431984489 196940797 335410603 359580960 841664067 443417444 955415325 270163692 641848362 591653244 771540766 981538519 484767254 163872813 428474145 280191509 503468151 517814714 169070823 967406756 209413664 260059563 487308956 221841858 937866100 981162739 925450356 596328566 419861972 418650434 151041401 203619318 718584700 797212233 390189928 180844303 904578803 327381762 372760918 530567987 519826507 727317843 400734733 443073763 915836450 113736388 568145788 250813060 698315556 116378177 479552859 967701469 119786237 808488010 935834065 741435536 227899945 512142247 231100603 161725273 636183967 552166891 336188530 373108640 151722268 225904856 158143149 623628736 520290667 270791938 950328353 912292860 970395337 862422309 447538852 621946274 508602243 901068549 136892186 268543033 464991649 373952896 510284888 198800997 262834993 112408666 944261104 701399874 738781328 247325241 672329947 892470943 385593847 294149809 919167259 510431812 272741442 313164361 645519871 377519459 122745686 344616190 154667949 440940901 591923599 519029782 328729607 290700352 450639264 519607054 425622390 602011656 876706949 612103084 359218435 592881022 923658642 139547695 516345413 496520631 917048201 725284654 258071192 882688400 626094416 485802233 182162287 210229408 947441842 822375009 308690739 614022297 192130226 973660445 264787429 197418138 536686278 703411881 298740515 599669243 847213141 953354810 842087831 401086738 250542032 864397726 307032054 225065508 164829077 935438292 960592964 862036274 406168336 741105696 593828715 661232359 954821555 296230109 860206226 407285025 974884050 145892607 751801050 251852312 691968784 618151179 851124471 961662110 186265139 455556705 335915460 297213892 259349052 950547948 613783043 971087167 954391932 547845895 639307042 124920223 950332575 398907907 111957053 818930750 942083434 850989037 747491721 384749089 980323465 224889539 380596623 986079957 642944014 257214879 200560900 259649246 811002607 926377453 155541993 312752496 730554980 186009276 579413044 123271679 941747893 909188388 579353971 250280131 963431052 697676109 492539180 488170691 942643085 745274769 516557069 345512042 996399831 951116599 867295623 276830731 322910352 524289827 843175955 276981525 561555949 339288372 636751774 480555575 107221556 191038144 547415365 589261854 591213072 647888063 991399442 446317325 990892815 585514641 181782674 272028355 301183457 960105036 232499964 791327049 750347067 872119078 530489832 420803587 560664648 138063431 506171072 448616189 669557350 963381620 340344049 553354657 947359926 803728064 482109539 982980847 757906788 152283132 628342339 201011049 981260815 507851320 504744411 680173800 424806452 577156690 691194443 210888512 475031236 532975285 560712917 165795362 159996860 684872880 181663010 504985680 575561436 888489221 657934808 678656007 660259138 777701690 193146764 639816480 762703710 776861747 623115023 811967292 630827003 503661383 482094483 727824931 532839650 272370333 569012944 613186011 657945020 511924851 863539772 747889804 591295517 867010146 505634746 803163302 669463115 997470835 453158937 224672584 619492791 430341820 803670889 864535241 706878187 365335011 787212269 639194753 821246916 343386946 758822319 819374442 143520822 607228406 380152846 297538696 920758027 332706498 554346803 583944318 636764234 950646595 287461959 230527943 591947389 826609640 836442558 197213840 750056470 266525594 735728835 776992958 523404115 768292033 143714555 325147360 908592559 737508434 202981280 365918575 672706117 386295203 235365378 756332132 377132395 166920395 270718495 159141140 690973552 808660370 273395697 926758901 571175759 301567845 504197311 426875251 632082274 241127571 378275495 980931709 892977264 206250978 578959534 558304603 550503371 970860988 780464976 227979309 443579756 672567583 477255783 352496575 880917769 306091678 552698927 358856966 524525286 355207010 397068118 565885783 342353760 378001727 205778540 579580379 944922152 917430857 523420752 750273622 290641578 723405064 322191798 490227321 510595814 650178582 360866676 445766378 833117034 868690533 925554976 574286419 991498091 375632374 661347327 532131647 129539881 778948914 489765870 759709936 328455903 654789364 910625035 921646554 573332876 655896475 492473405 961948624 333514577 257448084 357141102 212242053 976980254 165615754 287606183 511457541 860116269 220337676 596798910 788823133 873366407 178523588 541953215 186842038 715033043 991387026 796521316 377296749 155923628 357696958 905856097 343367731 325480400 436782443 291592993 629526195 615202223 121681678 224600925 942302307 422295485 574763538 919999665 634826013 702806676 921367811 241586083 468733759 575779370 224649669 941605028 309805388 616455096 961140810 903838689 814140219 420783576 276555507 849736274 640563438 220760334 846277815 821205743 271399094 167029128 736062676 984535705 820835631 789658136 560963170 856842018 905036573 644579217 726475543 692258684 672859819 409329931 725986433 775284090 543202626 721619495 263714655 519018399 251222965 801367633 714318963 551146009 369674982 381895889 336752033 671612330 270292326 704723275 988292468 732628399 570486397 593581853 790391234 848480650 752826897 302180098 846369965 237308679 794927233 267517580 963376291 468947129 186780563 933341264 754555396 399173712 175801661 866306771 810730064 189797707 922484762 808544519 523079858 820346715 133011663 866752629 334911704 707733172 436712885 382421134 453144759 179841969 250391597 409998928 805247290 761853473 123400105 162725669 857520184 710070570 765636994 479464482 609052113 670898041 110633777 466935298 784462074 810519472 117185132 785128133 762091682 447362319 101072278 558629741 549095910 162563037 596853401 495355702 972054967 260921003 247641332 504291082 586560316 390569896 214010011 554214920 553415886 755904275 941295152 151567406 734234246 668709451 939587182 798350014 239108716 786107092 771384283 744548047 391045624 960794095 946403512 463922633 870393919 812997921 873024135 571835250 557676892 926255691 515407705 321097092 278619281 883887566 847019214 223633837 685085619 389407887 321555865 223068415 737543001 601090558 258651321 525715382 600053597 615408120 682453237 448153945 138938074 484699577 912353710 203027530 257814073 623874832 505282334 101788724 715610548 755651859 295804143 951518293 285143301 780442401 932425184 542196694 594021027 766744695 590719016 794053760 426126690 632931774 131161723 970366171 123749818 657879841 213657769 973862965 520037717 776521375 403746997 673138246 912413675 101376368 362930501 779939762 764305277 138225058 376014268 532495382 197007574 133159391 441064020 393945033 653370005 401215849 235424545 634625943 275462976 511802708 593508479 872433439 145103191 137170551 157305092 285040860 571713349 767439075 866566444 418502862 658785579 672556091 493705554 521631477 252477342 449932010 590302322 644923017 407195150 943791270 739598443 668276784 282192299 255853505 359412817 499409122 994143431 325185885 984457558 508113795 613550883 838135300 433195730 691936472 113957462 723129061 177658789 695073662 150804890 238115113 182354324 928709876 630544923 539877960 946758885 663015831 363353230 490674611 859450043 344158546 917628642 426462870 606137290 773571368 347873367 712720471 851197184 773032954 795104016 662785031 687290607 372819415 783740314 519569582 862292575 471217323 136538096 591179413 860118743 413454899 862760260 180215953 584112670 912917757 777337117 312757833 222379687 320735540 335441109 469658587 404284752 648779194 491190829 223148905 729084568 419608165 146762476 450080355 578843374 331679258 793081420 547404222 267328262 401097101 149133303 666742465 251318231 131615415 309256339 770091862 803780243 110707814 631928470 136782001 500829693 912674190 677557573 286165856 817497705 594666030 820611969 305509156 726800348 631437723 624265658 184888782 102968255 720638701 989044991 218699139 659769187 479139926 870812958 259966282 624422946 288410031 946051080 351571954 172544564 285031590 435874260 558098623 534145480 480630649 610466159 803995425 540938072 305931966 796282046 785374714 145102703 558920800 982287162 332207896 865456029 563662115 766892388 719535649 311764478 666391645 914663756 612135501 401611332 786304658 756137243 428837647 407104968 551526706 944568195 992766857 281283299 613892392 362171885 871475859 631002522 389935065 940668204 535163859 378879399 951956773 909314570 360950865 747746190 491154638 406788688 675402919 892427525 697007711 583085318 845904761 142921083 136971317 308117311 462323283 882317434 788060022 542673605 361712740 762877888 529292097 758145730 426795011 150030397 179983088 257784601 866679217 871205415 486250746 295041706 987540485 905389510 591863850 581788651 392860515 491314582 751342742 714259742 882751335 190475618 644111824 971215792 652003881 147321512 662853571 367711855 809317090 641182077 909578205 670464291 913051250 653886195 637109108 968487577 715524678 892769461 642018598 337728385 777281005 526007515 762889370 754183630 477837381 956280822 864532090 840308735 862952333 783114736 370849691 365808006 199126357 527788350 417682853 506856109 820088459 778122518 204483272 134255020 170885488 476791467 231063590 428424409 196934738 953707610 252162698 587501576 187722752 139449831 151656577 544209772 972914085 902639027 681543082 355717645 983302331 999203809 824893844 728244574 281195108 783122929 232733090 715414108 448112584 921231306 242477385 260783847 110881298 675155343 427440368 176985350 162655749 367152655 474461450 607819730 645164734 171983113 923333203 341068402 681575717 656360359 724948243 935953988 548160152 382727733 350245229 901641784 154215987 851915033 381603868 873665720 225963369 354644324 830544241 591185133 774639162 304954562 311388282 605493747 389353976 298703300 261457646 392419236 202586607 788118430 568653416 192373027 529458525 648454730 327327270 360849561 678023795 719881263 528313474 956119347 652023611 953084881 975162017 523189133 147919453 255143050 968410746 441504539 119499055 961190061 876173003 932891190 678803002 267753196 445093843 241266600 194674099 227099720 741837732 427887029 691577566 549440401 249684899 619052777 653673144 277146666 162766822 236657456 924730456 325589927 450717872 415013278 193497367 584736979 722252562 857153516 223458798 285796302 729497883 537922227 610459656 649710652 574195485 727475651 182939264 799165708 114396832 443391699 522172252 362964300 868542916 116434662 570269599 151177362 731397546 792239973 761629274 611016897 107423057 264072078 148083178 976761489 956320257 226186466 929572483 502870291 522142154 113028374 875263241 493729705 139325290 591565007 230352119 801729805 640887397 967548279 337526505 504702846 339830540 113848155 948621616 664550111 247163251 872818544 210922429 370147528 665367548 203806266 187072708 737191620 777802682 786773088 698020029 542321813 649715657 266739841 640158816 928732312 260875492 920715597 601423565 416199727 162734985 363312250 563737379 573938468 205736128 864386952 171158186 567493051 252358118 607947625 603512751 609717433 754241653 265636980 689662755 573697539 276237078 183335468 255739314 555250745 188759600 388669782 688047967 454210952 418068503 547068288 353701325 771608453 433637133 673227078 331888695 697532006 878722400 225631324 894948244 973765958 149858701 628939302 767077298 527456595 848410494 849960944 925632543 800116363 860012522 400881975 510935464 389055716 439128415 186802879 145731315 490545317 294430211 806441195 447003498 558778878 830104677 477026078 365915191 250143794 501378837 865054370 978990973 341559899 729650649 616140184 454610281 978640617 814824754 565419843 414250931 797584584 429629147 954001907 141649879 812063375 163081689 875519210 560823588 696244011 313772815 193293725 222533016 321607531 658359403 232457704 863277964 972307881 423987968 165517422 121587636 535195241 284075450 239176720 336549535 108029916 979524666 714584539 145879476 941030957 133763591 305016384 530823300 563692827 680789380 405528008 174368364 516925123 274482772 545914278 675591335 302813360 151771494 504196800 606797486 535353845 720325628 527393205 892863201 673495700 307415201 690115228 284089027 903627715 984401481 168070068 306711951 259658162 510123867 515428215 209137719 568924545 617678649 518514916 250069871 409940529 159942236 783327290 798005182 961088188 697624062 772827151 407070306 481323780 624211889 572020509 913192430 532839635 147161792 484741772 897341569 972075198 527739537 422640916 567950674 823428834 803872332 484791240 120812457 174360129 349007975 654054342 768011904 401022301 760565276 294574175 225997745 715929137 320905914 351156558 227792873 125501476 460016936 965877429 505951264 868140205 668364583 584515820 562755011 703013751 967006393 524025229 517805714 876206002 233283820 144903277 249086496 811811584 726985446 311282168 722399105 796236783 301327534 735541232 820058681 968289099 526550923 539530599 926333345 236477760 778970379 706094333 597811348 756421954 634409639 798691952 999513951 678404053 439736877 534202872 553934839 359495147 476686755 570856834 325668533 121137284 524059295 389825319 871758387 804781972 198579765 740606901 233835275 495476412 394928714 420951300 401335000 385349261 622815825 599487362 321777486 771557626 447760667 872834088 312561555 367596397 337465433 468019282 785433167 929266386 860770569 302466486 726101595 855414835 936057907 926465205 876801500 430364143 256893422 278040181 779377599 837373389 351791352 175770130 710233640 593728283 221780347 585953799 835296670 288774979 263847835 106616274 211988464 598018599 390569609 370688135 565884893 160115981 175333688 874474088 965694116 535078035 450763836 550793008 637998409 172143618 916096379 958272312 393743439 667974018 541093572 978422585 671070972 137552081 228052205 379757102 352177771 487572972 612548754 176091757 834499219 158428141 265319666 706728413 738099304 465512908 786314315 472203018 763865148 540145052 949738423 656039182 796207167 443442689 455164416 675772629 696647277 105417695 731222552 283689803 103915003 946676845 152160365 855199062 711148920 477080980 556198695 701909041 474826299 390196700 914500926 796049857 670076182 419594585 772665874 404750299 734213794 162724398 937054418 379502574 750736842 385272647 796139004 744749430 184668511 318340765 418130840 815506412 605633609 488192281 256749314 139839932 815691672 430173783 859925804 464434593 738376428 388310533 136038854 831515865 285333496 882402893 804439660 222658857 656440476 274840231 565851241 753512760 632236001 338805192 191309211 890591061 806973028 150596465 704190583 644008273 449514113 308002757 394449294 159242178 601045208 103931611 574822639 863045408 824421123 798924853 636884508 448914399 883228274 902123104 658548216 619086848 959264333 403034211 768884934 971278116 488089258 124374808 504947243 915949242 271480618 956884508 747368908 819133867 179400617 416522941 634571395 115916772 795271846 862535835 564257888 552578974 367460227 184226960 414279262 298085754 689222469 291676261 411944281 258214721 924078409 587331811 932076453 530392229 192125290 521417000 492671222 595281277 511584862 116459438 951201122 503485536 745388168 955417585 340457593 557307322 502273022 917260237 395628725 410119783 738941507 484321387 126035230 283518809 919728907 897272502 276483861 999818850 824731225 735550191 412406912 781568095 327241047 369973998 561832651 238640680 221899514 779634930 561914733 276022953 363562212 863563370 640153574 907969778 589003662 405147820 100777542 681207516 485821760 594099925 384266680 899982186 896238096 884423386 290368146 909703308 509622349 538172421 633722508 161742395 380553568 526730728 494511429 873792570 122564646 877715348 121458392 344395029 934358040 477793375 184807826 136696296 978288120 262503254 486407137 764920935 967954324 773210214 876350031 587710830 278793328 108362957 911816173 286997748 980430601 157800077 650808564 766973973 980449860 187148470 157694867 493654470 132285078 522570169 659048795 920254584 302485094 927045734 786769757 308460286 813235657 134145703 975657971 540086908 883029345 947829696 581558032 681529173 278371354 949448355 243288091 422391288 539247655 600539782 815829514 176500793 347874722 410242326 857959282 599363354 983845200 616469735 615629463 527329647 399746760 547089100 135785055 720635161 778115595 670338366 361963964 802821342 544716409 995493767 421325945 555833983 668481575 779015754 297385149 308068400 547412970 265949730 889578215 845851100 509438583 964077714 842934205 909239459 729048752 900634531 406155228 973414250 914557869 676677731 859240431 568190276 287505151 368333969 845572979 571269105 486087080 813690790 345558480 405924351 545477784 566768533 571500063 319878776 373246343 950405845 250132321 492684190 439842888 181100182 389675254 348818078 212601588 530033986 570720382 413403717 595419695 201220579 428882614 772116193 343961496 347608001 588645693 809523496 483803234 628691314 838278258 867938961 229190570 729858128 132160349 521040498 780794430 624085604 241987344 653676849 133303443 273820434 339652509 587209565 509329354 810010364 882425694 346017409 870473619 361919181 555715050 863363027 417544050 978646533 527722711 808498419 219167273 558741105 560351475 463994249 600354307 562579063 504868844 637815063 730036493 206739231 688121319 785919271 546839074 381932492 889440733 141399683 293652246 717498631 920723631 786128562 988301479 684509719 849592194 370689344 374091546 578234264 461028467 102224342 522694243 706177679 318546988 777303828 884466079 542978727 132142708 333670982 915364719 719350370 456850003 717812191 862457347 928112818 753656572 893430411 249627643 728355825 325918237 939907245 210865715 195314971 368182013 484719948 356347238 940556749 648410419 173942570 250536020 785718952 252476761 953651364 817658383 914849747 254602455 377444814 682065925 372065363 314882029 243118047 122290092 785291387 588331327 103628590 263658165 567866884 249521821 605523676 935369075 309524939 585446089 323375651 208923043 835613504 660958668 804402564 188982425 522801142 878845612 818823012 349276945 918189432 266462560 478548438 413415925 456085099 559986354 321514203 215375143 211943823 851902911 696224642 617426205 980535837 425991783 106347778 340805045 783177959 476853864 513029386 716328828 846367640 156430532 664176555 223649343 675008384 454623137 261016515 560551369 629731518 304980936 176635337 675168268 770889795 807300163 820628878 847211198 758702386 732528609 870207850 651641196 817466353 936682765 487165519 940877978 138800259 721791865 523609247 886728410 224564868 384212739 458481043 146921970 779598359 590860328 574849788 253066691 729972472 319299658 256419453 787137454 623342322 734196202 997328122 245700268 957603858 968976058 264201923 416468757 698843637 537731086 114671187 712775084 966039907 534498593 654574905 906889212 819845605 440922115 661707542 389920232 853128463 130291959 895943315 189112129 775462774 648685324 370331805 592970959 462719876 569948494 409161124 755076279 985826888 457207139 989891504 272464705 373301491 113446339 780566787 224927389 893038594 330677805 168758797 795465963 497282252 244291403 373479442 120274772 788386760 924668433 876871493 971193863 858392614 585086571 785162926 489230803 790170568 371440598 493627646 357436002 112083980 746921456 686790206 494888152 851376022 447447019 285054606 733155830 157009383 308321072 254777641 252610151 962372873 946044564 673036311 453043213 827362135 178059341 221915206 812985589 119243228 461638444 292402634 925501518 586335589 838247161 391308909 637617374 837656566 439722305 560286226 520903101 558673758 210188536 771031590 280698061 303581620 430853293 568387975 523942348 654906257 267555057 699840559 700755815 756097942 615425327 457148511 651645734 624233740 698284795 375138840 352853108 572319027 320879456 260434676 667833798 679362734 476286928 621762853 907454945 883860350 563533958 297169577 367500993 473128118 569117461 357142450 553015358 881999659 348118888 650311893 395413746 562613911 738356225 519156350 552926051 437132676 363854461 925691246 800554366 954550794 590016622 208299257 332382741 252808380 822279102 867858816 554556945 945425242 726613548 324279761 579486161 388121295 712221051 217573282 690396473 412294195 482558755 291925125 857689167 484658571 537997581 926740046 725531982 517385619 297308250 928127900 382330227 112330066 114412682 584524839 659514004 769792168 385477328 488370587 737264077 866072219 444447681 972892227 806803842 994063197 455593312 421876941 635904072 745130247 241248862 739138643 379474728 171411339 516067025 855706875 322567962 682686807 230577272 628607603 543511538 922921364 875639260 837836907 407074156 317906708 568448606 526950786 415186118 949246342 284194183 915506155 528929061 911870276 466923419 280358231 734089460 261055684 526954884 443568797 907576468 849209904 459366887 316234275 602183129 172879010 336227091 508838785 972394505 955018315 554645841 534366499 220246926 852447378 725497596 811575400 291725952 215583623 416320471 977922431 353968141 186585896 724901630 297595105 973903613 952855808 595807951 282938095 721746662 983522950 815400456 677807164 636116472 531206356 452632120 793922960 412445463 494380293 208585822 817068541 209771887 200365074 312313476 919164112 841039932 739405484 157663622 328795919 296706349 759885762 350291110 493418423 962883301 540539709 469240883 746249950 930672274 547168010 468741765 737975727 438994637 880762034 262631820 516412870 774609947 351064366 351224093 883082082 144325656 339896642 511283386 129859610 120719292 391604525 138329643 301464434 471966631 444477947 415890055 491942681 597330364 890353175 296126754 528614388 769449235 628877841 991891814 324997088 689821475 803729963 750792336 308756902 300762266 306563060 323535468 341765130 182260014 533615836 808900013 497970312 382958533 239115040 403991386 153436073 168081137 826533860 785596556 684439533 472140082 475370002 199964536 790850649 412241052 466643425 282975808 349699485 192168681 938373173 108463856 106105750 341599078 411010898 334324790 635455536 309505611 812569071 586153971 264874673 196398112 508350824 942268562 507763885 910918309 231961480 908593338 795352743 776503106 693148606 780556496 642126156 300411067 416981729 715989488 618117595 223653732 939885686 906366466 324933421 646272196 289693100 684179341 648248537 418712670 474848339 415108614 304752422 359293812 866843250 647341094 795573651 854292912 450266156 981528697 419489723 916755993 412675761 497427926 797627729 589786607 484719062 750967810 969779540 271822092 776426182 605580454 274912530 616204562 328017384 750413427 110096916 686144274 354394736 834699498 880871588 308080409 434390431 514696835 742491729 705544631 354081732 561826368 108828796 362406852 331325879 297023000 135697487 802209277 356884831 744975781 577859237 935007735 442183525 391008248 257586915 942553282 927096830 451300479 779413700 833249445 377100324 771395238 140651780 814097932 819367711 835910854 672139109 122722512 264716548 476314155 107260731 273694163 738748983 226733065 313406802 588036243 770172730 318954500 629704972 842691045 966126473 570359462 596007709 810794220 504104292 995608193 311551298 319502604 135511076 102305635 701710199 499888245 683575718 447779576 286268890 800292305 915097346 349610007 831533016 282490122 204369575 982552839 973429774 160752655 754399452 256632032 567034672 830469154 892129477 169698965 580761633 629378822 641042754 787827682 759934256 270848983 382433113 835270011 715238220 823199579 658880769 640620795 493097037 321803560 741585254 636358855 905758458 950519327 761501150 658481000 968081440 807290184 102921489 597004108 666196236 749455818 957573269 990945024 757031871 203663166 954473082 949872157 887277459 787063931 416564529 752009805 496389776 232806819 180270089 540002140 663003124 636821441 274233904 423884140 718321726 725383913 996248107 384292034 312012823 936536148 912869512 827358457 702297557 776480921 662500695 786637338 366656688 805092705 272926583 351145889 952001688 660207532 763043025 189570398 263626194 699940254 444444067 895956967 598815922 955522683 930399316 164045594 427219698 696271245 290733863 741108621 305835908 271311246 249894601 578206659 118073867 105692872 879641716 996840219 100347621 873249528 490739726 375398234 199655114 358258216 664880410 485393719 133139875 682486941 109160271 260050262 498319183 117486614 202450293 420211055 301088726 391321389 916977423 191141438 464342878 606719583 512550181 689175529 639231888 276831473 428163170 880301155 279567283 877937379 414855487 325899545 423219603 581237456 457051301 385992622 741133268 993993250 375063236 375334885 281227031 264758000 465655869 542444955 101207740 455818232 196306014 442113807 974444097 596658130 698145363 512077226 724776534 141822890 630598055 346825432 969987107 895216079 988135369 311572756 144699630 971366902 481244822 856404565 797322737 978142120 576221168 924506610 826835959 812405509 216091550 929960209 307964676 618308062 757162144 244027811 212432976 184541332 167680599 956957723 668370170 805701570 693591065 368259923 207406826 169703843 854387137 949572357 716311072 647371853 820864349 471995951 754330595 950385669 201258014 287927580 340393978 985423798 865410394 822539773 147417288 369760764 230623189 552871564 725114981 137607840 954140450 670858328 296125104 948684328 703914437 573676942 657133658 173468803 421533108 717672405 241130373 635868972 599930886 603230157 968379941 576865184 590155028 828056886 619610762 436884590 451696712 582975080 489835036 710000854 123541228 416443204 814407100 995666019 632056258 368712980 439405333 851213525 835484629 133154515 800927533 191607114 823503091 577999009 784879184 936311173 971911484 215299353 144869207 108871008 771994515 168165880 819856880 732684601 785868533 322040663 119299363 684388165 797810087 518113398 539886800 443934325 380889001 156878774 645978019 488040660 633036826 760168936 249962959 490673905 320155403 448960908 313362448 547839071 512986154 123944428 611052562 698442253 924442993 681738780 279628925 407140468 869380658 366590874 452170092 252981419 221991812 421959114 468439693 238081356 187584500 716363120 837015601 478581919 741238169 888406574 944279380 839261978 495020704 324286939 900580132 850672176 158777532 799920059 532726801 445031793 680611138 394977591 629510870 802461649 557013539 183278523 808441586 267057022 673789409 716038167 961726697 735766021 963575980 515390554 806437167 555076599 591219777 449100725 189546418 416348867 716824984 242421518 741569336 110179756 329616749 579207513 509345898 198266797 549826679 462858615 229839995 864322644 713425215 774272423 570131243 508948911 573826377 315578468 221780412 424037811 483820357 172708265 320229770 636643555 839931476 572926297 954843594 523730120 209413931 616501886 574317111 552644818 568115854 183413198 825220841 949228236 435428200 963126120 516981646 239268558 585106461 356596458 639415682 277865853 331665344 591868247 457079552 814282568 470778209 963266806 860272883 281434540 275914555 492487762 892929881 688734236 913452111 770305309 908189751 134308083 674434501 439350257 745109068 850028048 368220031 763120707 378094829 537447007 903602960 458122134 415369763 134792345 763180800 822003135 645175557 915431340 767560239 348815338 862747139 727479518 890771841 524709643 454764667 549359276 908088244 871540612 749341272 201135286 383471037 795298359 505288392 852559649 296808213 951125590 721925121 741118915 531776831 812912593 765562712 680850037 874079539 208802707 273757517 478902178 639534282 758392184 501214842 949231030 848060011 122068256 703626134 924445585 845654625 837005051 419285355 515482898 215000715 833316014 120651997 657984158 291516308 314410825 215061544 439983966 740779886 122009616 900146431 991852927 576336461 177783426 266118912 240276381 603153859 844275003 216509740 668666036 993884406 716298001 972270599 753107294 456162332 226238051 551606842 729919679 397044059 336906849 191838626 580407579 724131143 999784828 899925801 306406168 351954419 670427661 891542840 956119582 215570231 826536859 107236459 498635249 826011635 587455221 286366055 671054439 556156709 957210003 581132976 271286595 633046711 397438653 636813112 466502197 841936969 935961404 217409956 479788917 805530123 146283217 863799498 520678009 756228551 864452398 772070512 100944161 115360169 748389962 220546195 529964256 160972240 147397624 204963790 268593261 541836429 392275358 711408931 659087931 733556331 772733139 975825268 978708524 245427091 413843170 342761721 171022249 372207134 656515687 747988376 310443174 129254020 432591587 849420849 732739395 499602953 311267033 407804659 260860999 773170944 935910124 160772586 466094514 248225510 845089653 709674588 531856627 319282120 604847989 310877334 120984714 753121560 976335285 649943409 576273739 493095274 210223389 979653726 375364218 738919001 572177381 382041363 286587481 323886497 640080523 593098982 731205081 868035466 291562472 873046143 927389153 173384509 454268853 802445504 692124476 268367141 421010559 775487637 545116652 851844146 423965184 344375055 725394044 738894089 767593202 255382886 327552397 760795533 171948432 992097690 604322982 388996991 141274441 140005963 268464885 282293980 357675011 789279293 738081488 136986476 140211846 431841191 576465050 502804263 890013965 649881947 958966979 628045927 771185626 480440917 196495971 488745173 355281778 774114814 726839816 723455017 395114094 589980219 505014666 393763437 415318936 427505043 813087869 779631682 839861408 969156351 947079242 583364082 414500485 218815016 544703713 709669815 407203705 615419311 465087529 651861570 617194539 495674908 137516422 426283308 728880014 872179486 642435506 906209790 909257246 539345274 327391553 171399837 251343447 879373144 308610779 165387498 674485485 222378991 806518819 666670873 966487787 818846518 870330686 597169013 222953968 728916005 552866944 753709810 973069749 372040637 135189323 891102061 899112865 195477136 154587748 155669671 848872205 783472582 393957838 434145592 944339066 249581376 539214015 516107713 212891689 352976888 831699204 394823027 255767639 760560420 621721946 481994549 859507061 613527678 532871976 145435891 792834411 137731828 936734625 879935910 882362214 887203698 667683246 270133863 810109704 658484304 950440683 410147278 565613229 593448525 546620103 888735604 399407328 264889786 749270031 258402322 958604218 238664288 192768588 738714258 255971182 187058038 791040691 983545632 149893964 110138323 180910581 877240140 172834443 722087776 908407182 511236836 368420785 500918826 598023112 825036394 713355250 899710254 437604062 728469085 407346961 798920507 919482137 119599592 842340206 770091462 807482546 521173780 218473578 540643422 989022334 827359649 145324011 284047432 256828482 513677182 627400682 705624347 306748328 206590444 855431020 608072898 986065456 122573436 873231759 757009109 433396947 624703299 786464543 370803897 137066689 476369239 929832041 866659140 202058851 714845265 198251576 486069073 122459434 727459751 697468435 551990371 684662887 708063141 768040231 898696268 521297987 962003083 732155896 518389575 722184681 294357413 964874105 611103949 289331417 630412567 320665307 268055867 529129305 984010198 926452824 428625140 191358384 682334164 770795893 572243806 699146812 217683932 166236223 800953387 536835614 983783729 270942681 977094999 959416170 388610361 433697442 141671862 505807053 277248300 866142790 771378588 419307325 463350024 395350055 435852607 529498655 188548630 244121868 651879664 614836823 579512477 928809384 386918855 758478320 360760955 543699753 664678815 106071514 618661769 211175941 424446874 243954415 414044836 613569180 625964233 801499187 629467071 109736271 125758042 204216143 200208096 779361130 425056889 456338547 229091466 983899619 530204991 409997860 251925022 542670431 489551719 568452859 841755958 145955984 276826238 604119008 400532730 930597627 845955311 839940357 686547878 408025965 981403448 384543086 717620496 300884654 879307202 901887721 213244635 789952311 755123017 941071212 497353136 972819239 123685380 604053931 542813644 779226454 249610515 412320836 832920235 258717241 847126194 781164820 806553065 196965848 451640379 621107575 128034432 827054127 958552784 546288725 188206268 299495176 431272510 200147657 218426425 147562602 675904444 858075591 329488078 833492579 671623970 780293497 591411017 675356886 441497297 982781543 409413095 216516487 651652476 231365547 446617859 985296901 391389083 557804897 908496043 907747979 623257152 272782562 465936186 887708204 544044420 201239784 251958370 989933389 757050246 917464829 380756781 365942011 129544666 759102656 139934569 284123439 549933373 265187790 296173939 974178502 276644736 615854190 738232713 301371996 768184133 554748031 274026757 858489789 232547061 550765416 246228184 370411631 325466551 504747469 286493091 943272920 487582425 856932334 736302196 646449202 676559613 151377691 606016215 955829912 875782874 224991930 737312213 591374426 772936760 380258463 682381251 750965498 415550217 847957674 526514935 386532324 808861648 759465160 953094333 474751160 522123729 822782930 131666249 981926108 763223515 679285201 551300807 432203616 476530803 948363901 706094785 137365430 811997036 666402266 429155421 345177448 661712736 214940274 398532264 720566465 472502814 554364753 242274480 277906752 903645882 880730403 996188413 629918185 880475904 390380836 776806263 909317829 105364477 516908255 611179869 418932751 222059368 132854879 623984274 740106710 346852041 174020128 988828273 297659105 957497405 295647072 953009836 708598790 417860833 980373739 128838682 142135422 154204664 169832013 655928771 963526955 475599158 660565988 571562253 154253400 145595326 247172735 659385631 433187860 109416718 819739457 270999482 696984469 725838673 457801527 171870330 657397131 784379246 789199138 559774683 306198669 672641756 196401232 840528197 184839880 274424609 573963981 385907164 416846198 819062197 129929160 576387643 132039563 810926410 624627683 800188836 879119938 341870274 942715095 843731840 546974792 128308686 980893245 383531856 263587206 241165390 490874851 151611534 537358056 383645924 368788268 970720763 910850254 906207796 390050603 968416357 682001090 345510232 806890594 413480387 735892244 388989584 980423015 280824241 514120139 372382653 961486582 358099285 894574708 396484549 570620858 226909177 150215256 249113144 677063684 189183871 372510156 495604297 789080488 343432713 247141619 243676519 327752832 614533059 839087104 473099551 451791774 446530239 171044977 722485194 153927879 159331267 712721754 204199788 783989818 244408125 561937150 229378102 906459563 339644310 398963543 850143093 519056319 368311973 876425761 314040831 735423237 303519432 186166424 157273009 736051442 670781187 929381452 937330503 337371296 169439765 511406415 219462628 229591639 412983873 290669544 981101520 758101895 794903142 811492384 923039642 925146921 965953570 628657328 153351702 549066405 240597990 235407675 167217020 704534207 704361505 113186291 680730070 830532749 890919199 813070258 883287075 943134926 943535671 587219797 115955769 934079229 576415732 857420363 359002799 489710081 726799418 717454319 894252972 117924586 573983588 603219580 208503213 271844367 520452958 664925034 885378989 258214577 715147335 935376656 593857214 776488633 419064511 439475286 218466101 314776046 761699512 235076472 124964439 573140115 197061101 499101149 263662037 731497490 130660054 480048918 133417948 265129562 461113843 997199210 629382244 898563447 993055172 472199107 130444573 260991984 942462572 298717011 569152259 902099452 263579888 134218274 806921128 342105828 156332423 781807920 151371719 858286113 539536857 632771426 381275814 546485137 204772394 887498682 860510010 585838542 421473925 157615816 914590760 549925000 700412761 709212145 115494892 889328282 911187494 385674115 404795932 534538014 733269537 594591944 876325916 745471040 471043817 986912913 648402735 334467569 768130839 860533433 888375669 918161458 119428188 645663208 607557322 305278546 685790457 607718614 452985974 304803286 500054581 132101852 176288649 213567461 181830633 421232086 743321045 722528605 661163915 251787310 379856550 722241694 117534686 444059515 706545871 330375597 675132105 485083357 206933268 365299976 707394158 615328272 715627296 894216651 922771779 329392879 152660181 701613678 383756885 656162080 194405099 325430471 516241807 183699617 783536513 628244803 190483247 882111054 253186401 468567052 921324711 214483622 792986686 855243369 707121347 479463530 858914989 343154051 106920838 109978966 882479480 840789004 365283913 232465643 181098513 909466665 961086488 403481568 504893166 188016218 245496286 303320807 479708183 176075137 265831646 936542607 989929091 348285812 896838274 890255868 617420796 386993874 941442522 762238357 927803326 533389541 596420479 348427121 439432885 949162994 167515751 718463512 849193447 976345756 457169342 782374933 708753300 556260885 843420554 218257723 945849807 381301251 228447835 219137961 556771765 904657169 609847092 804543607 256850573 690185616 614064271 335534202 212305339 371201208 420324450 167904842 896486561 214365675 173851535 347938766 516914349 121690138 446958822 640190651 780952228 563574794 830038861 807752648 804383568 511170692 716109871 196368941 801356124 468944685 213830317 620653057 311980852 386383015 365666278 847146111 652688321 621745831 721505670 712284469 753562591 566903631 948786486 277661147 188012969 473234025 707947897 930573140 409095751 306522164 380993386 138078823 224345143 407547970 817835491 317684191 929167592 918353280 135961396 502086905 109669725 643847102 919932131 121046447 612184175 144960674 789440196 161659644 498041741 244001344 209588682 803107555 591987342 481952872 238785247 181502867 954768471 881151617 376610887 468745944 944411902 618008899 225080619 277846009 477671869 779777672 950070894 925777124 805855280 622291878 682569695 265720237 535197725 556448463 905937138 193208090 651485143 847224145 215691234 863071661 799061902 429584478 430361186 166641106 938045645 908326553 138097519 645206035 227830935 120716762 855196063 200192863 593047430 334553646 456054766 187381558 549180994 788862885 121056367 985370324 175227623 320137597 564074278 104870537 415739280 318469981 647984855 907092600 521913456 800664764 765720169 370147596 167047967 695788908 337116013 131865579 366844780 102472873 767239217 319978508 874866686 775478699 903504701 836693046 418620800 637316718 765544221 627483505 783740174 278407417 202446521 485404733 681048064 127023588 744923678 365145926 235215610 662816047 940341285 854550864 646221000 608897053 248799761 544909039 484360759 655277440 668957241 853304584 517119854 977452506 922455483 776324233 222823500 737596366 617017113 200308356 233672998 941383625 756621482 648475879 315315744 873605488 163623081 536031667 592772887 502417616 564452718 239039395 605315766 223255625 470256543 678199079 399706266 494425665 346942733 555947922 580626164 106621741 290772879 478166537 651635619 916610882 843706261 516825992 521209225 331473938 551912241 394123396 394367727 151944410 506901054 136885545 102128903 797434047 784964806 490849657 391228817 964660238 220455276 613675910 308756633 269510042 970665337 610522762 438426433 355591125 642461467 325592426 459068631 343922721 325949551 328709407 905397083 918048022 582732208 358856849 739648665 352718923 361130782 136483896 116067836 207805452 999791624 782950661 711287804 154046720 859303007 332862159 190220348 141754688 931952872 562149534 130252212 983481061 462193313 333014097 422124855 170031666 643823375 335483698 596398232 913601195 517202246 317054429 940669235 550553347 810198868 629887088 184942596 153893705 421772465 902743041 542423075 552317527 972046944 659871445 795452586 561965615 972240700 404501629 296594904 468052421 178576107 232734757 607461355 260212772 978216823 823440010 586257620 143841747 951992371 617933059 257499340 939942123 279115061 768261407 607154423 930649439 222544350 479665674 140986679 400849966 632000579 174570560 883831871 305603955 253880867 381602619 341412782 339852944 596197735 140882456 564424102 355999547 517213159 702240152 935967776 674026824 894525657 618809660 799423764 971219412 895523927 212651536 699202712 838869084 417838933 652895580 879536270 981181879 126991823 904243552 178796902 958130826 407794102 998376567 497043398 936214907 489076496 130153076 253741288 267620898 895544089 492414641 412429561 648631063 470992073 717547624 444288264 406227245 576891325 201801123 379583142 294139111 701213028 195336888 361711981 534526165 417004608 947432231 162324689 845592823 280594297 664290878 514979940 804217865 118633995 781539048 561126505 474442940 330909901 349433006 648261876 672929498 548984511 765843965 745590229 267256816 476574395 680364888 909743848 708580647 111832864 794374022 228601296 251484756 190030619 105309946 337873011 385872370 944600443 403953874 944399288 344232643 916334508 814601917 933126073 830828839 236960113 931799931 354416761 486354990 164914301 377658330 904780685 215980113 319013966 105401432 690420834 703114338 555661662 404311739 686073270 463118665 874388011 910447153 186450799 374400393 769903248 921396870 486310618 438564528 679174470 350467127 961591857 874638449 562765098 165428467 197988728 294318877 519600760 462831760 381638195 954910803 530416213 890699189 682263951 735679588 744033973 390405796 588661150 968984448 986349504 146868258 963218131 363470799 415064526 887117759 908018641 582718485 737785287 124068212 564266398 432900764 501686139 254464130 866776794 753096999 384480397 607678276 412555264 857518059 696765036 912677203 210139774 576027117 880906279 320588809 826525037 658871064 739628310 483462234 576745765 408597234 633923575 367663649 864668056 307240789 203550893 688913428 968083554 324878729 486810469 223649119 571757432 421200683 459215534 638686940 568769956 602956441 764149959 792899402 726467562 786875879 343756383 110157121 245487508 277402240 456351394 632621057 576539300 528268634 920149375 750196553 940711572 277340855 571437682 555042330 335862691 932771316 728110746 515704554 377282005 649919035 125463085 998397919 558424847 469989900 987837083 566022342 228031511 970199969 323962568 198390900 227119215 559895590 671167484 407305142 304132441 345502712 989685639 555027785 501601140 876010313 802648917 359360348 731345387 259077901 959356896 633898759 612166353 289388683 596654209 724808882 407942591 751700812 740815554 938263328 726981953 253319744 370946677 414178851 777712149 370670155 108108672 777340337 439213266 495129952 458987163 305441996 775007694 870000317 667854429 543355940 201403599 724527786 845563374 880854984 356321261 458022683 138971285 950834165 572345830 809845382 600454477 591653362 544654241 845106930 746892288 657350616 561019366 148716521 175277280 589674712 637585407 753691507 287125412 675464111 649985281 220456960 940936856 934528485 322087939 675442052 836027255 317455816 857567304 792573826 585595372 588591264 863150989 722591157 812864762 299367692 961600055 499592535 962514381 696954508 740269436 930469905 449808627 468700789 647480917 903813150 441001687 772246585 596733576 489628531 266368322 604828617 216071995 568672367 122753146 585375594 149494625 625675385 352783407 700722051 297665379 909710269 651961750 457687691 118501484 516698483 905754870 825296022 219425472 389019561 748955028 828844481 709111769 296512789 684445279 662254022 865210677 335751741 644912529 672275191 685594337 492797720 483744262 469353431 420931488 651524349 957185056 268140393 844666520 792049230 510248553 593835364 127724623 976592156 155603003 801456030 452463018 979286803 648791784 496849498 811984899 397535658 453437061 326281595 495799095 307186395 970347543 228852860 474954421 820323756 266087724 139516148 112903390 950113022 703112419 303807771 101870094 824660883 597156136 293760174 325334947 375215523 851673826 521790777 783906810 141050775 154584114 671354082 663379533 320060107 616813948 990270313 153737615 587388847 780254398 719159881 769177323 571382060 806935532 264194929 314141921 279306310 682021250 941859008 974594078 299429674 104230020 309351672 382271606 569451640 722336032 151376617 455906779 388877219 358998465 327043956 665736094 263482576 247610473 934205489 382696607 684770961 804859845 654586522 741010792 387036894 269044596 126353146 493521253 606085232 217337128 386977699 355390108 371980022 309851282 942659284 417106112 315927152 763710231 446789172 448225037 223055803 365138186 967360913 148319560 729261924 173183419 626954251 918425467 497139185 761460909 165218439 426288708 878119762 501101492 111085800 334470976 526736886 122872198 579147032 111577222 518431850 452937391 164982871 274220463 647962590 118414823 930650293 541978720 723026948 692362585 291514091 533458592 710221647 861728703 775704364 507517687 473142298 197221517 326335636 412224256 199636429 670492867 851194741 943006472 935276728 899410894 428980600 208143037 671632161 390299740 897627705 425103129 551862436 200779988 858035301 446720780 411562234 750071235 749603130 710246774 626070738 643592623 980643114 619651078 526857413 505188450 410415731 721793227 414835241 226187084 417539103 383657193 837304832 181797256 388553798 560245011 257124771 553265769 785723302 993199389 128248700 653891033 907878647 458883309 681796707 162881001 949469483 846256253 893639060 170740346 362364401 373821489 520860482 606927845 307497004 497682231 719502958 309242369 608862617 302126317 257987029 687099092 443402750 250926596 430824523 350397150 116388544 121600058 807770756 832130486 375245308 922672447 462833339 716633278 300516711 506388999 407431444 259423380 320110451 602072127 896930721 120819175 131669007 441104788 829714279 306800816 571011882 841578025 913468775 967280010 930058578 473252223 373905894 150319839 988371820 350844960 763782725 738413365 761784644 868490958 190122094 519553098 355829097 320610292 872648623 605089580 534370173 887235981 775709998 720037517 680189166 283561686 891974259 152023261 871357949 171517019 627859098 499106983 194280910 144624881 357428076 864932020 106951186 145952499 680527226 311680628 920968562 834932033 935719052 239602343 512035025 836729407 401512323 169196880 493648331 466570569 406589212 779083245 480642889 380025101 671640257 681613594 468038052 212748796 116311666 804669498 514847495 254352712 329786300 201808049 484856719 308385682 996500796 320062922 944129426 356969239 644937460 232973621 603463703 582663761 633076352 484641837 412663860 202464605 973223007 354788977 115700052 398671709 520552889 541507020 270406830 748401120 811619012 163658309 199482205 306293376 515356706 405735690 370553974 407892122 178514045 234505977 826128695 216797449 933944646 314752204 372389937 980454843 565093803 112011256 742510376 396366809 550425739 352472023 831477036 571441090 436623630 417289078 578480908 783945264 273719141 578553048 394951766 393674655 194591319 430429371 594874450 212411251 629955662 582996365 624112005 773803990 224532417 903303092 531390138 352728584 698003856 205817065 252302847 222142986 978107061 970036500 647285942 700195101 673106867 593433831 353509648 243495327 947523316 829209964 221745066 452409108 576886613 354828244 872682395 608422258 284483721 440025606 912141225 626513516 461691466 942502607 620165388 967409907 955399565 793879145 519391197 634093080 843512500 463028787 984586708 696672507 183847042 486203893 778125070 786177151 486009858 201828287 696650745 421594986 827496569 672331828 888710086 966217218 449593081 113671978 452921343 543003929 147468042 961055534 427320717 370765751 668231684 286647504 648661487 704661012 117703009 512913778 267957130 990450852 966038458 403219627 666379092 572534346 268350961 842627801 191941113 233672845 282581683 997590613 991043804 796915256 654208593 792783134 451519940 469656716 780142343 369516940 689041567 678190962 689826467 707455071 454888300 112481897 232462782 859825719 462319970 138030458 807120356 431562731 721361508 558832854 548853184 346351829 935737428 468423195 592926104 387956643 766798715 128355869 919351363 628319591 448968201 957052390 223974941 351590544 674467077 521067848 954384675 301649581 498454873 319601519 579668312 499347411 659970816 304425376 327192975 661438789 697053088 254020098 713265946 441252193 160621993 366953509 601889816 148898290 615089661 460954642 409394169 991383493 513209290 250648507 210187612 911793057 546617380 612187425 695966725 240224338 578237206 593617003 683169782 727964681 105897465 635825746 227057631 575352223 795394163 160286273 761500633 769522508 963445148 778884125 301964345 987815831 734457701 508079267 912543090 677287883 161970356 283295000 325986626 277127115 437485400 993501514 295572779 508904082 555198544 836671953 312230399 242416319 257388093 551031164 953258941 632053378 831336527 112150785 831719255 904221501 344919549 948064058 941507483 354855290 123735143 374933198 204288309 786578579 717241364 971536260 410239877 978515936 599651426 997300092 221386488 634628100 281331128 410594678 589188422 163521439 227716098 432000182 219284966 126819876 702708662 404556457 704001973 975739514 809195288 947975334 959236747 136307365 643192111 566271004 986081874 736405820 693433706 821820781 386488659 632532682 300798086 473764380 456774552 766409492 419031042 872740481 569536279 491811663 168518935 176279725 622751933 494354065 626618035 860607498 585863571 569669292 858654673 446053244 129402199 238888108 391429797 829562421 480693882 439635228 635699306 552861929 681476203 818703609 717480008 114426654 877714531 364169179 537985626 240776049 362032330 988308147 691511213 350101067 261467032 874507796 780534726 929573893 724000934 421292783 466388052 827493452 200549713 993559910 110029985 815845817 850486934 609155837 439966428 299912736 320156251 673403787 270380005 332344421 287690998 868941994 181574734 692613609 434937968 470998921 432591783 260543680 234035535 138116866 211497767 134555052 907597740 155653598 251303595 685255643 906896333 440974088 488487177 765549965 652987835 899069786 780886461 141576429 617821337 296187077 280554624 377260684 166771510 890031784 696364671 817397687 836128530 844310718 946872755 856864109 632690699 674061575 976302578 341021137 241540707 782653096 924403493 404129965 115373034 738773902 191305250 366590271 907344202 920547935 181060527 779200848 954781717 199610219 739856153 727011556 520310425 987238488 844051597 262931186 567617421 605105191 752829922 593489927 266602033 214465365 329118994 687245332 903551419 460511542 764965751 826853350 426478225 598760056 282389505 659490315 612142373 954855662 951654614 119180131 410628643 556242032 315473998 887467475 401023123 599965802 616427537 114956394 884958406 296676073 542783590 816819550 368096996 372681040 342602599 644180826 518754059 283001504 174428500 694723694 795784951 294395273 899881084 651638827 699921646 672489456 276198546 186737183 385567900 616358562 247867843 718077805 888236737 990713786 536650503 891668785 508943352 652478336 119097633 993437447 421348544 473506245 116037561 136155082 651704933 228169698 382654029 287368071 768716296 824672854 396958084 834648278 374571440 219516408 633955375 758469421 391335673 906367943 328081536 975792066 614191367 745111392 423915506 330106683 902882374 189467235 701508008 261126310 518600478 611526410 160987416 954786874 245839803 498966409 302592293 860450982 657914242 501145853 189249396 189222367 787953981 585155192 281052488 406912553 675815359 709272206 728003157 601416863 911594735 821334326 150418423 284399021 651755973 677475453 737583657 382569203 523997814 400467520 785873806 195005744 258695298 626939127 619780136 842535630 819811450 158755002 361772768 582465054 364958868 824204388 243989032 714429023 347351786 926428591 271243970 881880905 830681512 541600621 487939325 288957881 492891763 453491716 990595857 740584663 758122672 165874841 818391237 524464360 712554631 780158668 641672979 453388402 832088395 359317077 523102492 324393395 382023749 364682559 916511257 339154542 134507880 362770850 594504805 416538808 723353464 813721385 441824532 490036039 915851237 681490160 399469117 926171297 929347745 870039817 262840464 769053664 192033423 304916413 421929179 722260843 555206194 358460166 804945734 825724894 203370928 809123923 711117976 425246137 845398339 999360521 365915667 546697320 165731736 172006220 127014008 720307149 124933080 416701093 656200357 470037201 207528423 100395613 476449224 425212367 586652191 550103202 350457173 522741929 980908757 892209502 775711538 822693942 185163308 310627518 778548811 805721064 137463304 481608218 576963072 160977437 705318457 567322321 138745459 973970916 505850580 813896942 474049324 711318761 860199220 894517033 336912933 121137771 873204571 506043143 319638252 940476334 727923964 552991554 465203720 442162875 540299094 116879239 752165525 288872413 592276218 748515425 816211836 895370019 424415780 703075064 127439237 180328916 157742701 121482721 321527000 988464842 503097443 423022546 742821391 589233651 236201835 196963803 699757887 922150295 795773329 557262195 499937389 764800355 643931472 895197789 868556735 862523293 187452166 748304340 252466119 544047618 922953682 464520277 514577911 359357842 840416159 873464320 834240754 167000779 881139157 432488369 160078379 590601019 706752226 445355905 515538372 551176484 264695049 805709428 275757217 967662882 519175450 503783943 208599976 723539660 947133224 632930686 544981819 540118852 784071145 293231606 336886754 946878987 667459120 383784225 327428784 766325428 820361949 978315780 707089808 357873230 487173093 382603196 675181663 723591423 868952094 885424558 395244343 103196393 488731565 444798016 797982889 594691975 776442976 891456680 143226694 649014639 127510461 967829382 946461817 781160195 815756167 535289686 979163904 572809804 256276880 423962036 706151174 554442676 414561581 690571408 412390411 245034947 446832400 570360002 771141270 848845899 988916767 649794262 735608869 949038452 458533989 669173137 566168427 391734355 339551167 905874411 851318408 922680505 493902946 346971799 104171831 993404044 959576606 521950444 563098706 874960786 691222866 300129931 815962786 371567267 267065513 391879695 153773871 865010810 915502854 267592871 618882288 208534577 649261641 670546679 647229961 848898712 613897935 766218129 280827741 105737969 398615507 220608431 237649364 264323116 134048572 668517082 845843098 420738233 378583293 876124649 719168403 272916251 899171444 188482079 138395154 413277625 401560124 591397382 215090523 895730234 799804112 669455192 819142412 839400631 730753063 422019991 311499803 667861952 700020238 598159369 755538777 323612699 590886565 430044268 165934361 365643121 643575542 905020842 315225226 437829009 758835138 213768488 698619446 170180053 987603386 410282886 962660903 102567128 345719429 721957706 966944482 627480790 895108081 818878139 811559528 930217921 904430140 237352520 626443139 640138315 711120286 301328396 128176991 753965594 301979185 834743577 518529880 992316342 440298710 758678438 699488062 561920195 805014412 114768701 616214704 822803486 972343506 855229752 106787509 393374349 857809536 559221520 290003420 232057978 686401316 789916297 636284264 799648558 354147237 509299493 529545357 620156079 219465008 295991236 381363064 252426118 412720003 958456726 852357973 722538564 207107329 452066294 160328735 406293607 617787095 906800029 519742761 973141898 369163288 897602462 196541468 902605200 663483460 862036856 622898062 322827699 348673064 108797446 640789381 179213493 270973977 977683470 529595814 774339522 518962768 792921433 538947644 940611193 377868112 404768340 891181347 225124937 391988993 380730153 603636043 373516781 428953605 873063319 458754388 802935583 685087010 498292554 209070580 418346476 134713522 227644728 494494313 492854049 134957734 211556267 326312134 723724016 601350182 330660008 378363106 967879547 378625662 959514383 245748498 574466632 595471091 879491994 436959099 293371462 793933563 540258420 984231394 132963856 639650536 659028335 455174906 392301994 363452797 407810810 772407831 834166205 912967938 501016720 217536020 602879854 452662460 916336424 186483937 325274321 176365424 688238446 445077751 834003031 235387437 728638553 533489611 933762165 537913621 276508429 538438156 302574654 276852682 268877054 830543586 382565008 494283150 154559427 627472515 612352071 475290814 965185270 352030382 287972326 116859557 544432680 693375878 665197739 339265963 333352203 891379371 389923947 843236455 213263581 634227556 976667297 808407186 370131937 731083982 314493347 479010986 841524991 328121444 196320464 472582684 826052566 366448735 933038921 683426110 794046238 658992466 560121979 790274095 690077577 814408258 347465848 712617698 428965661 130055494 395575968 154093642 964632343 333833576 896303113 837602943 176330149 622056828 830867113 136078569 223014941 299927578 216375734 159183582 507936155 935050645 793128476 196383492 209097635 314611651 790122448 156537733 800223923 404649579 893451952 590982080 734485261 780989396 104431396 870162604 540114309 501293034 941320834 870317118 878026472 305803530 217616964 730928752 903572855 607312510 880876185 619426705 985538282 402817400 545384272 917932535 450168143 879135009 308795507 777006430 355834581 453582165 625983165 882221370 697822597 841409772 606628599 319513634 895338319 159174394 283075711 996768926 635538740 241301091 299076598 895445678 876303793 595461424 448852109 654748785 181914570 409759906 211214969 731576162 945018193 747686834 532646275 627293419 145806065 848256256 141805906 792772850 840244432 886256944 422766743 994267264 996922996 641333006 543132060 259077153 214250388 347454385 624979014 924162165 897234487 833621191 937505769 362876925 975366508 851489661 659802835 484402288 107582613 487179768 902859974 646775953 835409879 713507528 944291721 319628578 920497134 828652083 103739722 836521506 699567694 632653664 566418526 225170989 719049011 646015806 865142535 601560144 992116181 311752212 530007445 105329168 805945897 136963636 123575076 286514126 577278140 204234717 466468953 633909171 441057285 933157780 518237969 519698711 151218868 419260348 704275869 905156993 971672868 517322074 543464771 713703704 293898739 731323608 212362596 296366631 589763055 270279348 879007881 783475549 489588891 816549568 771909569 678352390 863870062 555812534 992907807 160902370 372914275 880024457 459644712 749042492 497751168 190950291 301364934 629913208 443057945 695159067 680545916 366097016 190566953 953514282 449626745 153073940 691024059 349502148 818858782 188553570 281857570 201049286 112160539 308863692 266491769 510844709 913616379 627642022 857802237 109281829 493922419 304156478 120749822 190878549 320884786 161017890 960318327 304355417 583796833 765113175 316809779 430287927 335028001 369512952 493724678 515683609 798480295 967555246 338459742 852046897 182036583 885055894 857551240 576606533 412595863 826702831 139279347 317914850 861996407 798823581 185347954 645911640 630266823 743725282 889843482 262444011 266640205 175735924 505487773 748677737 532341121 446562051 661757788 279126345 280700682 235845347 230648896 834748915 974653247 110673093 928885135 693735553 311137866 321569451 950839112 841652608 376941850 447675324 373153781 157229072 147101041 445697637 773123464 357890738 137530931 644670290 453750567 329464570 840163865 239914605 180218489 837784920 304331039 691742076 457535999 549098752 972292501 975818042 674222069 875504376 456484830 853344591 758185259 887755158 821288266 512521786 389907369 545588186 755419075 120375631 870171222 268336616 136209072 728826713 540574490 952038393 395412622 329932694 892043244 558710928 856372691 857773465 659554878 827531200 184069147 992226471 704538102 186142731 727677601 798503906 726450868 909642355 986490245 569306088 159961982 170558204 943242608 724403342 821324515 787862428 191078909 259721284 537297677 913851509 689111028 597374575 320831702 413250879 831217856 248047987 983397634 605712982 343076664 861095739 808886207 143393718 207456470 911906891 881643283 346057667 127912483 915281115 801100992 553672256 393829212 375947170 353062133 329264499 356866875 439734030 664276414 136409795 953856638 898346746 440389492 847432679 701147412 109824819 148589944 923155386 922687455 693861853 194770430 229104567 269917133 877065244 570418926 159835534 311255963 797439538 181308595 424541538 914194316 770407410 558534959 508293819 573732884 101087331 136553226 977308927 814402368 216498882 680500748 913333114 110077985 187473153 744807476 205600102 498826764 828163774 591854847 995261624 505005398 988687888 548496745 455142906 520518320 944448663 441359966 993816066 736388271 809046559 254098024 824332582 580110457 548008229 562357652 793938293 423169168 610990033 884923645 289630528 844155677 164458219 621488497 207105118 509970674 129750733 495287156 552031272 123153011 445211177 920794297 393643171 743778756 805607311 800952412 137796621 258754942 251585570 765072360 173362444 321763335 293732339 401512331 214339273 948493362 619373106 742172169 628923496 653919203 459386228 490353597 437232878 755533371 868528617 208932703 173000240 329252892 808745408 288373175 400022486 131900246 428448566 326665102 656821108 700958585 100025829 365183173 710068418 598526031 695210076 947940818 918636868 133188584 354866672 726753391 599060181 645817473 579790663 499449390 876262971 122106912 836722321 387385312 354947098 730288869 149645548 539667437 282902801 218661369 717951054 889097900 133899965 598764437 227147063 979872821 795488795 647732131 636175908 132106856 182443404 257579453 263008991 469555120 974453258 841276701 392827117 327526603 990910714 516283930 383025070 660190983 852366694 309455208 594845869 957587356 417079625 403972973 762155087 826581120 332672866 637053820 250740680 265432338 361327997 843556272 135977194 808564695 179642023 673881374 228088447 599000988 388076001 897915205 344771405 587985752 408820424 798025864 707532940 850313410 236626786 569053067 402211513 854487729 263058581 671843310 522143323 321650888 432240132 945535938 955402778 434577466 112910998 788117084 603766248 525921311 473501819 640315214 248301405 268656250 454478411 960341499 365745657 943409739 318368585 482264955 372307510 876278528 121775085 140716786 492967366 785075066 448504183 446585854 452266390 797799387 146403093 504262269 264018747 588245295 678378221 726711727 760333685 299357125 299324624 124376387 171216321 457964515 991597334 779976795 903061738 376403629 163959061 549400840 519998052 228746189 191420579 262167401 148073978 852544371 682329963 410755485 102104873 220350885 900533898 167292577 741166251 770961916 241197180 864136682 645703618 470174916 291752912 285795727 908818754 795198894 500507947 783177249 153597997 456588840 519653088 854148850 779536576 416690997 917483946 629325619 853968591 572817169 482646445 998016296 874578479 855612540 192317199 951711874 768974680 707316864 558538436 506594721 298116934 954925777 396147323 303428936 909735029 899485621 146160653 456318447 819052290 309926871 304216493 789492178 965191326 170417162 188265470 297575916 663677548 847784316 739065996 605662956 226821983 570425003 406322054 521999692 250054288 842546475 165222139 950671059 173139135 882309988 647213975 369043667 638029277 117320386 215099289 227539290 195050502 800605350 964413320 652855418 985884631 630544324 889469172 418268685 199815052 544058888 945077341 718833864 800980584 720033566 901809382 493275996 176497106 953029490 376847819 388693618 870799905 898422916 529185352 585495953 223873228 846810716 747692721 494618183 459841401 901925474 752220117 444087634 693771310 263188162 730040673 450953200 175459319 623206113 275101009 442602423 480543556 195477564 216325861 385056817 759270009 838363993 474329090 765515240 392831163 302387300 135661505 391881225 252366599 889656440 790666229 125468002 150532756 582180052 303743678 108711433 753633771 829131102 622026342 521885623 353980923 537763309 732993748 986834851 989556506 652180158 202871518 155374629 392100369 865692313 687615117 435909641 471576245 542296062 289454585 674970023 326658197 347066936 362479050 779944927 931171798 821450640 877401897 106091037 819307766 529292633 690241821 182685195 548552337 944698465 759586931 387291015 187661140 482590002 116925665 965243990 808001673 983503513 398737877 141862576 987558924 596594339 513136007 383861875 698094179 607118977 943254672 160377320 394753529 994317603 544469892 484652330 860074200 751587223 418371503 111879350 149203156 986973119 201992538 207917349 374978617 846209178 703486602 466180320 324246530 192257256 852813091 609549418 290139357 867889140 974614230 920305295 846348507 756964720 232493549 666942000 883809585 549523068 909484421 637903215 183827500 748616357 984366444 425657230 572003680 405991508 969279322 883735482 226791273 534268625 449265713 415268701 548884357 150477005 788602695 125669571 467407736 396489771 601784057 237015241 151744607 486223051 655518970 988624246 939069323 457897561 412123878 235016305 556135348 573341462 211168300 515838922 798907549 437778043 156120677 414149427 515071843 991041619 728573719 659475783 209095237 998239981 676090188 928550745 813045052 123029013 136002563 625326666 606720237 368168037 517733117 212036843 898693802 528962897 934415649 644032484 435897592 828840095 551607234 152144009 287920001 611237150 355904168 370335239 372015272 574141796 767270341 695760660 827093067 836952551 634635370 603716715 924723308 278611833 346924980 488298956 838870415 974610484 490665421 348100491 521742877 206309861 758297560 444995161 174782925 637428124 521491944 509552435 920624638 391506981 734047317 691818484 331138630 554143979 629578087 210120887 199657355 564757121 838179687 105267746 679557921 789228300 513195033 144093939 648834151 409705480 716805363 188939875 430011256 356163336 718413289 934057449 540605025 673084171 612608669 734701000 708218322 636656998 864497839 433943116 773449545 487871513 624597048 719540931 997754051 806948778 801400009 487116517 210038403 215209750 925723409 972368196 394793557 716368075 698959076 833345721 298512263 509149449 302566552 230482463 165277349 579768354 921124329 334195934 478964667 599677886 453355333 123434841 434997655 655363372 149554234 935594230 283915182 404855899 760750196 961274052 127156777 386112071 848263734 698382870 417229392 590206872 498220899 943432576 376041566 521798657 584928613 798728782 803803600 705686431 185563727 920007323 990976329 937684083 703018646 722472643 471054332 518725909 177355240 530051969 634509526 713848733 295125029 415273326 232875136 713590441 347835277 665158656 286331315 435814782 585395027 175778212 844189183 532151713 723065500 864771610 254787184 202456087 991697089 291281774 640320805 950654054 680141200 156730290 770066824 979375087 878183881 104250599 160590296 384450396 144798557 117088540 728576609 561013317 968749586 557380533 729867042 590972464 683333584 990447565 158252684 151191374 408464731 634026609 665288170 715493496 641309358 120689231 642170542 263749885 912939266 308875030 219683441 219902034 380543742 820250264 628754091 454333983 142996798 233008779 259736566 762828229 948535471 770363657 400333127 180919090 538752284 433733373 240822790 505422439 550471731 705276902 174249811 765760200 629718487 784435834 549111229 736208843 244024698 482246950 589135806 133199755 261823459 235436048 941051504 697255406 660407738 977367642 680829001 320032182 527463353 113729995 715953604 237457881 108330262 353642327 241738347 490542772 339822178 653768173 319206588 465607300 991010031 181081604 255106829 610334501 256521357 578659162 623489876 513923282 496112703 894164092 859497792 388596575 582374629 654660065 364189325 331164718 557279157 901730963 810695190 125829317 680083377 762626708 811296040 203557047 699061466 101478937 658082159 430514457 980908072 325586035 306660268 480207299 270118695 591846612 791098532 955884606 207706121 133304431 219031459 631692306 342134804 590209938 671539660 238688329 745487467 751252057 626873192 690628041 865869433 661250749 825249273 623301671 488922335 429556677 444010127 703299524 997303866 142059942 298875913 262144399 374743487 612766345 988479164 631076637 376707432 619036678 466790987 125530540 148303417 799685099 663244500 473002439 590586125 306891531 251674920 643930709 105279091 984403078 295446742 907092436 340049253 893177997 127191979 234227751 838557958 563507714 846759730 860900229 337069886 124550059 750713202 194116836 676386888 218719554 497810226 882234337 662312380 439579597 375579718 389732161 411748463 910838327 676395818 656591649 394114334 433348538 260121290 796446810 106746947 782697505 724491094 525370684 755836125 920189740 716509225 638408199 665277886 629631230 467120706 719853452 716856161 823705489 734411631 801648455 339112745 841499842 740859593 433620271 600338314 975740988 558862211 803894195 120239318 888505854 312132816 283066937 212936025 739313454 809361162 376455587 254465111 257224300 230265594 737755539 520421720 466599573 756472336 959127175 848152196 424749292 130375045 745920253 202258680 388553497 287081941 376067564 353301162 375633699 853041807 872348559 131180839 380075657 604275412 781047863 871265746 766567932 285160871 997642810 224049259 600291816 924640154 453465455 630379661 865462283 397673179 170237463 832781760 660824984 173539738 763792201 220416572 321031622 615698779 868573703 811309145 180754703 194848158 309469838 641487548 632429871 752105446 558239236 577277291 594542086 444157673 492602939 561897112 998373590 914520644 168202304 119152673 282084765 560526226 296305291 307826796 446423578 961012026 453050410 450440843 179515932 484952246 288077828 834555559 345170624 948049299 742898885 152767957 437555060 255611593 625646551 118585630 691408792 172150656 621613215 383922452 259891095 382879433 646134138 648146862 961146809 948987279 916215196 409274209 824782372 524178418 915305948 285950863 112933279 920656925 689413748 433504301 307006002 115733715 704467863 605882835 699549863 891829077 285279187 116520724 803214073 786535389 786495177 752434403 264427002 466400264 916626851 276581970 145310314 421671266 250078492 639790398 385825303 761123694 474219293 540443371 447965409 673676484 105282017 348013274 121974429 144013826 666411762 239618427 106982206 482095035 847125268 615607947 902637320 135362594 366218802 913772607 538875175 620557589 744281009 371316366 476576608 453238945 181837088 484708593 573736703 611467509 380209133 972549485 568877082 891608059 198608657 391009051 200572794 432803606 156414029 606979018 109607026 394921662 318353484 165724141 751290991 674685713 734314289 626498524 345831726 114030082 830204651 714740040 838070099 916153871 350702791 815542128 737620598 299202905 602121552 912951154 712342412 974702450 840923983 560270778 813307724 996091341 228217971 484557274 600506592 388173476 941322038 951005644 610537032 844322899 865093923 298072239 559034106 567233465 676270870 138651774 431101306 561416845 822654775 726828578 794326732 438779922 652591985 997772904 723718026 254127912 152521544 325812202 695469620 472902678 717347639 864355717 567641326 691802979 549815522 637628169 650473052 131177399 253865873 230216658 395413061 957824303 417656409 138430046 936265756 471079458 703006885 711015144 783738285 454157224 832189297 866450500 729493416 747371992 799453867 498320102 804668016 882287354 308632488 596447961 190778582 967919223 976532332 625458808 499501715 376867207 557136472 656011060 274456267 901985144 129967794 957522879 486465747 576099186 797625558 483566675 382514530 101178536 661666246 914780125 206198821 340198575 743568073 107732631 996647828 138559453 342620120 769659142 683372425 824228346 596682200 728456282 916324028 762876458 253308880 230163009 343456260 976559321 439161690 902941673 853340645 504749111 196128760 624865840 658749742 187000641 366730596 378624078 522693328 966312325 104893192 823504097 174556842 530940462 204022132 210142648 222693679 765739289 775363868 394598715 590505914 689128019 827882309 679540488 349342560 344753304 340596501 593830825 634739676 337807857 914813211 234178996 926881832 877594459 237069979 980078166 655056853 755886608 959058256 760924456 668354345 947909386 562575962 229750662 850180937 850832023 516901895 788530286 837258867 739097343 399855156 332957634 754246921 599253306 449332258 368548599 470870292 104752407 983040988 121143908 181857112 718090222 230472758 384431968 196755253 858976076 652036411 773672632 966201483 382662413 356002541 907482869 788658110 909186595 746039437 350659006 988531801 508177770 606007757 922900997 914565937 388874120 277790300 212308028 434859997 201245507 927971586 791726794 586873844 859270609 726237129 604778523 231329937 143081886 620666470 485758816 741346977 329750650 606990793 269451594 410255904 869335655 911444067 756405624 590279403 599958578 883833622 915114211 756697574 195887772 434473912 182337061 116225800 356046854 146948225 568893249 255268181 501717217 266604351 875978221 945426247 278332684 586306407 932065245 535293553 335508906 431195861 273775175 388157100 124101789 519533994 526552450 235344232 487473557 430629459 548167619 203125024 382878055 726652527 660830591 871184968 206474767 416770998 621252513 167234099 116536192 598884707 460780097 704236527 880438255 849069656 712115945 540362135 152305090 238278025 370943987 574679452 218917230 768931403 283544915 580164887 368957058 468836528 543429288 629522836 137648657 956192098 998163539 485752653 631211718 922658080 571921159 305039790 349903317 193775441 723794475 923202230 396226082 452948857 918115910 597966450 645714014 674118708 405744084 535764545 919603471 411279038 309098139 498994472 307743445 260998172 787985361 601313762 327387547 272871169 730559170 959529502 791705190 707872913 564351301 580166127 281069847 844530691 101870734 647769757 689820823 655286410 448945281 742047226 155635022 626943803 615193390 625918610 699899340 945574951 248216882 582539535 837236549 359816396 817500568 385934369 248313890 671995496 764664931 876204049 248539218 571180076 799368762 651670159 214974959 320869056 784546864 846981666 599335333 572480902 888696378 526737420 842478404 839056148 853268452 727261808 274390294 871607735 156762382 876729406 747104817 140991196 283344209 423398892 275939699 186508315 867039239 495812300 974412686 448910200 655164918 269633321 440879332 471085426 926876042 875934474 332981036 520434273 993668523 402093167 542128564 420573721 430248445 686487579 397836356 681224986 267731583 623188415 966821703 840548353 229138145 731329087 806382701 222865801 337263241 833495230 357446105 248667335 401302907 623906132 774646942 866154822 994270485 903343491 220925223 152965056 565474003 643083773 417598940 113353793 532315361 916160576 916878013 283685581 907058751 775260646 361878046 996046564 324758812 604786182 495152156 847132941 433808352 836153478 605061322 144053290 794483143 300268579 779412317 106921463 780470630 538541608 123577476 400749168 946823926 751631516 175322251 183889169 737042383 569838359 994847735 619107059 742777651 347345534 400074556 136287446 225167178 356095706 423458645 847179915 199752678 860184543 484742006 338729295 846705421 553999566 569898820 115166054 321898310 900458145 257372714 383426377 415216190 385767593 199860010 187074546 219916177 974441803 697883143 977152695 776480424 674386037 598100441 315222515 115122456 829631272 803271715 588740957 557898123 738710316 560187500 673157952 591649649 274214932 462792578 381137014 232032082 764778456 833936280 899193323 662308870 179976328 107025717 415491836 501357917 442609430 835228519 774202683 129532064 334687139 834988418 526868558 883556084 289618335 805345145 926177816 497199093 498524693 150129404 160469101 919709079 361133544 930091011 711007499 395463967 971007494 987962396 256789419 784057904 283797022 842400194 880005923 107657939 916925424 571816347 684700706 210746925 796885413 193100994 139939387 615873165 282017581 194008877 954680113 719143566 542814667 863302236 366099586 650440746 204611876 224938363 901372800 637060262 869634670 548024983 927953034 940580648 433998930 406546524 338393195 535562744 338450386 741702959 579106946 985141728 724401620 300217169 133781880 106090876 648930495 918289036 489240868 647986528 300886024 179366844 985441800 505919719 102904951 863467277 644663117 888486792 213647716 496959140 278198339 994721977 237586032 331594238 702397370 847375481 188441479 802573034 246419743 846551671 985400500 297788433 688081815 625862990 852625669 253152584 137138662 158629773 165800330 997052162 778771705 528994691 110141450 280002088 906374677 862208211 279181550 292594345 640015815 514056144 339892862 470149074 664931984 952764342 199648456 423308234 166417058 469437667 978771411 258665648 983586225 943997739 650038810 551383374 443463263 828809437 486309919 944049958 930918465 302118331 975307251 275408591 739282152 240259841 982001315 603154875 543473320 804954122 294551150 517601764 218295115 160224593 304362302 694681349 999697393 414996338 334579419 748943773 500738116 294757965 698036395 348402725 428024763 157951627 627740998 618490358 471247673 164009914 268122373 372630011 922699786 508239249 596540653 713331124 106401377 959433755 712274260 640875335 155164077 954951257 175284355 811717625 201868629 527747051 661128736 287578788 996483619 350162524 907205701 434219024 274953241 706502773 432268612 563054017 663833846 368595320 737324699 313164762 752797704 911321844 835589162 303362895 795572642 316525101 716050344 894571892 252353947 699938656 662118367 839861197 432395607 233581468 836333836 965652128 210562287 307307117 825025512 836922012 430758880 283267429 572088619 833686217 174971990 654033452 229492177 769813754 881281087 890023801 890107135 773897471 813549938 923630499 806198286 697257727 153503402 736936007 227329274 642497933 973637389 176689218 852324349 836568343 861651999 433539248 848952227 414191994 112047832 984642222 725014900 121280666 563919004 930390499 399295484 828100549 572331173 302789271 773943102 273838418 533720730 454528545 299171526 144129335 524218531 946331338 274345194 401209801 288185402 107322745 378280528 999647629 789089106 446775985 162434443 365032022 107944328 824111934 964792061 284979458 473585280 145040040 736197503 253457022 744825049 791113553 739283071 637765859 955951506 261913709 919398869 503222775 242003393 756045494 260490995 283984641 134447840 992872895 751491556 635221988 920196800 183938162 742897164 827265593 689580461 992186851 244430208 236168722 482928547 401746038 719955178 352925241 980590144 212490043 882404551 829010392 878066226 322871171 752499215 917525857 390556867 439574372 856786292 876419748 979733097 655018267 848576748 526725098 932928677 704949669 274378802 530975965 884779464 450851386 331499388 743072916 299230717 976414332 795862151 697925312 349230429 442999519 949376640 436005432 758529035 841836299 672414298 833946035 875098374 870231129 260370720 408991055 692245430 712375490 130888440 967911336 937720106 517539659 446449161 868728450 961646328 565651659 136224554 503506595 245832432 429863836 934496343 527736121 772019513 834964277 159542455 980455025 731103326 379922243 985115204 363946867 994241415 627283873 768141080 142463602 976386779 293501504 255877195 592791156 158192558 133105265 569969018 671698857 526713770 964406170 593990742 335703107 476822539 717394738 922100562 477429547 220572072 165862961 510591078 230063468 310738281 872574210 771959967 910146497 320753962 536330750 681905714 418592153 445768917 876698998 238604859 702514354 178484173 352644688 791391925 448966038 944976464 674535939 176866852 622405713 815112434 809533265 936944983 154015825 504250935 937463540 890905103 545418908 509726723 655766018 866120706 269643766 716307499 161132428 752835442 146313721 889027620 451237605 422483139 831301397 312147462 107771855 465350097 618900366 867064698 884731672 747370027 441415248 478122832 539826154 819084842 893647195 116902922 800047556 334181921 682780444 631161482 551358011 886680452 770751163 607448129 316397999 150671761 959418993 518794375 846235531 531028011 513776534 233143303 312471136 279566483 817458797 667673887 201737028 914267944 936454071 617635794 120429991 665932594 668572970 876927410 488567878 842769791 537784184 178317132 416718581 209728856 642645695 456972089 824537504 643093794 640023861 414506605 359178683 384092420 277777445 502669620 336145164 442299119 880637958 477340932 807546530 623084180 251842181 824287663 191372213 296823790 479322980 752211187 750566881 695117542 438196370 112049538 437849583 890342585 893532652 635825168 220286253 230665380 690423810 286355638 987035294 549011424 641262285 524141985 989022538 317981968 107749028 527310825 681979453 888923413 398275088 574873239 964695951 603114565 301927040 566663256 804680693 847261579 274482955 348131975 956612271 513600889 249384502 579980213 831319345 921412102 544745123 696234707 259203544 654847621 199829438 527187315 515109821 492138263 487544933 318581275 434834456 680178825 849387499 844571497 674456970 254452178 651575202 488494695 648307791 501679413 470682124 390531366 999808448 391618573 713908285 165745914 743492877 477225795 443782506 330367304 568964388 466836893 569107578 508679191 398587611 166163919 633031758 981333449 853957859 825318294 104449373 948332367 123972358 141632122 870655183 176645086 973312182 453707698 486860379 609507759 950355935 877700935 419458660 378105017 826479773 240853519 721899429 862189157 812337725 687915159 577086204 941686181 675725288 450464828 771308475 256683966 540306090 642040505 471415713 491822866 358278349 377699630 529240415 499231663 137180228 750851745 992640838 196404212 804765662 317655208 550578296 935120448 261778521 978461587 321200772 907684441 736953412 772581862 845071670 981880350 339035508 472774586 908274398 740400867 510041611 541992218 940321169 634837787 879469451 250713696 194445028 564280874 917640602 455061354 949468772 145748536 104007280 617779396 911351175 382379330 153809207 133304406 681925822 574772149 204994618 281529204 694225837 878307190 335813360 852543424 920508578 142439183 632985053 607261720 624948742 322754771 935121149 436064100 310391512 349721812 340441143 777648185 422068249 856640478 683152563 958765817 939389047 233956799 588286650 520796895 511645079 401852483 105014211 171697090 257298760 284053545 832447372 527073885 919757047 423282661 566066229 433015141 982849640 560382017 898276354 129967063 299238436 796817199 990255739 593543427 480813109 682685541 827471518 977819625 817265405 942938366 591249620 910145944 760951755 813882598 675866818 584738819 508806566 125125403 431363462 306752612 543479498 801201239 340092907 278022597 546610587 839049196 914463396 878108887 705279334 746002773 927642573 964957584 698867695 809279351 143960520 943818662 477641155 656649915 188249195 312270398 530732239 372757830 578396097 596899278 639756741 563563286 586456415 865392277 889543897 896170165 879250826 695682944 864872605 253575950 788452008 582267539 889423088 106118994 837832608 104446735 307717820 875565502 126887587 742415965 368151925 163916687 881867782 947029534 304489666 284134530 851715057 706151148 656508476 663641607 324179164 248350756 620301929 957073165 298862793 812062018 649732395 852002047 749148986 792356533 493922295 145686784 668803777 627715982 768917154 400836236 940060613 492940047 566510697 856338429 426214301 663623569 455787344 646007242 676965186 608019441 656573262 648809465 389712255 603506013 460460858 509481472 394726691 430971278 788855139 624637048 629608717 630736826 352512533 859957963 282188519 102899226 821102548 855576576 209488597 116564894 521396805 766721147 615623226 453048882 126449848 331737284 521374345 125429841 764825177 607843215 334850269 143566475 947443913 692681090 719920643 862167143 426572232 587957152 418375089 907816125 486440317 621005401 537968046 329178811 995403276 604495391 851240456 570441265 937924173 455796929 773500604 276159477 366554227 142151965 488861828 550484941 860817711 213785412 623733526 374820451 406827372 574221015 701952145 257177233 135475821 784823966 742271180 484479459 784975690 499194234 672103354 374754086 589446832 726655295 566975780 497942444 890908688 541569771 721605573 650023313 360804824 937334788 565616358 894486014 313833860 627779366 520283623 524175749 383103351 513869539 914563431 302364716 176278114 138744498 314239319 187766389 918028244 862823387 354323462 969932647 792469040 498815509 332386763 444620537 440091511 417368113 184141592 374491621 439489707 649755590 631959479 198448221 343169257 714663624 530336735 691494972 138403210 721241993 294784811 898043742 820144013 529456612 256424595 188996525 334531527 816610242 278753324 554603654 212187089 995748327 391133452 273050307 627498697 949696157 424401105 258731908 307623337 239064399 267028021 143146974 429475867 657082548 737987560 742153504 360537572 492309363 755085950 972446497 456494963 836110522 170490709 290282717 137836245 159302549 245080429 694079648 562567822 744042133 695950434 114057920 769884307 828249016 627489101 290524680 755226615 533781187 377182857 856666873 359496050 568419210 900947821 120159494 588803166 918522745 180188160 118215907 759855276 992033259 614373035 682932824 261842356 445089220 671662233 578218529 861572688 723918139 396066239 542899218 545667234 138010709 241961526 315058528 654333012 589273156 692963934 714799324 568634285 891397529 654980765 239310461 543906233 500140070 337000916 964925817 497646231 471166366 419720305 325645861 217040306 603850794 665203650 380076422 830868143 573447069 397623749 124208187 776717588 788565013 204767207 847201498 933199732 619728225 382447777 869834468 105922847 321514255 766742284 550297018 468660366 297393614 333749417 662318890 296544274 516921502 814585908 971995916 856080042 709708023 333371271 757806532 415783110 534171121 693142910 843361088 839338536 444874346 574958992 460281985 582415820 362764990 491900029 259834070 168243932 895701385 823461714 317440212 781147962 241558009 768711892 287959005 855005021 802829149 137882936 561933870 780592594 810749392 836535998 407900820 840903402 580781038 126097500 344369089 772142896 837411363 789552591 464758369 263722013 306734015 700941649 891633574 728499924 512404908 694612861 470050009 275616839 183504602 482663547 524763238 682725020 965123646 363151998 323751087 635638079 906808228 405916899 924010119 157421920 878467951 710558769 143449417 972098107 570510051 448922152 164426651 133129147 698261943 939916477 472478086 765269332 404590038 468190045 624977078 551823303 756967768 528966446 843776176 948154600 200243122 261515627 288033327 888106368 186238070 356061208 662672886 559489060 629191075 234949762 335818941 228069416 733046090 667388302 765365189 730970140 355407662 354869032 181039154 576483735 317557616 726213669 199661863 720366026 695437125 413956163 126293901 443435588 750615592 564034580 896131531 926955018 794085230 517225007 290813904 831172313 222957455 375960233 361324415 528709850 623514560 628968463 587649679 520657095 818870964 172477593 441156943 772252614 523576609 117586377 713636742 893715412 837182158 728440713 316297719 562449391 755179808 758299064 596961391 137620599 825163843 641745880 449448582 146194088 530447173 458621533 856664154 902404772 611290107 235541906 289275987 232467792 614824376 918832536 221858772 581470806 447828480 268865325 167187084 159345945 783066546 291210433 461772977 955855518 138382490 727810625 181712399 343006126 629845677 158434048 274039506 724016686 622317090 463327857 634884879 537007526 234416515 444466524 366419791 839541900 169945818 818332351 185907187 986372763 969157910 934560702 737225727 913531459 467301613 626098087 523826321 859798147 425715571 170076625 476325678 198770672 212317148 622170585 128714410 329198515 231419643 580655141 253317884 989780925 600588741 873570332 876433735 147493151 455881013 560303087 648084996 434685803 691504226 229449859 187750378 697292230 543442685 740163197 817045614 199494279 726519230 742386595 237893823 122331194 956740913 247380583 552604987 241623246 764228850 963326866 139348545 440901085 487155808 265475894 372979849 794479641 390045228 742963023 776611863 487302985 462827430 656721688 938304490 558284778 638186139 909807288 150826946 186854483 449120802 567845395 669539725 741323105 427455424 102490258 102134086 613031880 180335307 289261206 702756761 317550492 975130093 521686537 339176385 804135474 902460969 905410318 944758677 956820760 665099848 381052151 932667207 877115656 768863775 571155453 448194994 558553281 295415250 929510285 279093870 313624347 231894234 363731280 312931885 495632737 733440862 235682086 693088940 977307491 458727704 544614496 813991079 432037288 808253919 242987004 509085517 468702485 808205631 369403113 869377245 151676008 760098342 327817729 158698095 172271930 709419140 540533301 147325832 707486366 108676859 989239754 864255779 594328202 500092871 939919711 670492673 756379422 342570634 383249783 308427050 776426058 745828537 569575772 684132656 235480954 143198289 218696653 412421312 746169432 485723526 531386586 938234278 482818203 871205920 334555706 102210473 771536561 566610911 749485970 902009152 934782384 259211269 141191312 338271998 328684732 507551163 129070747 589741624 671973730 777664672 563494212 885542168 896767262 637749537 421409645 438761958 960984268 206437319 335056646 305316237 368113263 341564366 938902190 577560351 120654023 331282281 936227499 556997361 644663456 245794009 374774794 598439134 492885185 303527538 328441230 895692800 642761636 899729319 545801109 897956014 737310221 394599778 658635091 662943108 214280750 519645778 994260221 272247214 624461507 528351006 827557729 709941748 924933631 265444126 707531543 360196987 602502520 579194705 431139574 557941233 905479679 855061660 717573885 388392610 673807842 573534180 264421657 700423173 756445718 298590801 200183102 679487381 393781346 123799692 783639608 729873969 576195811 268940251 748718917 336546009 517863326 474462700 809402292 687607781 348156489 105446688 629851708 672959980 471054121 537070751 422747332 550500463 355274972 171002984 401401963 451804209 579656455 453282734 531952835 130567593 127525839 302980253 223462217 566571322 970154299 535927772 904526931 166747560 419359583 778903733 354885569 879105949 459260479 837769853 175304688 749244458 933700152 436765779 816363137 689636712 369267037 489227874 581858876 408397051 511793942 920858796 237732145 869631377 976584195 244595735 218150183 875854617 400234733 471123307 230780091 664316081 715158853 330672280 744426627 349022347 667870588 573147331 318106100 134043937 442675680 364976207 605416502 389342981 188124201 888059428 960253644 167919001 647427450 747880811 680651665 695692673 626636311 886684129 367738258 740785739 725457697 883722552 630932318 783307367 831856140 981945403 457783238 519003826 787211405 333461049 562347744 584980851 437421875 207070667 627415734 764730151 919566137 972406702 541685118 952246019 499567602 567652035 500458034 185869403 523920028 640135762 751046143 985302139 641690835 525487510 281784516 795986023 907516223 374016587 505588616 734088398 501731188 153149958 815558786 943904963 356734499 373355622 923936207 552081041 160475782 837409448 453834928 105643798 627698847 226496391 511183601 812208706 658107845 950253908 912311854 588454907 732200384 906271714 571050321 518314919 726039653 656294512 824318862 593356034 464277740 453367098 992615510 344978883 207220392 220012992 556713231 388682478 341624137 479039684 494238954 109221790 251071648 636503578 212286696 517023366 909862948 412509611 167867046 166476593 568862080 534562143 743169282 791538798 823074441 985254718 100624891 833399750 878035984 973774418 250215616 992043332 174450384 146280999 379032778 460770486 542164372 386412073 219417028 500507272 934804909 460543358 204154865 728787795 486186089 249778466 107609230 511651687 650909071 468809305 864050836 303657213 708777783 713778959 655761654 832244504 482954540 149351242 313771082 187344392 321121079 436406835 782373595 745062696 214318783 811910077 732405362 941749493 891643293 682287541 970697487 726413273 331111783 121532314 950986121 141112127 389568482 245314157 899604574 866390505 113084343 491630871 280899025 625891212 441734737 844381070 882743631 835717644 745477991 578850805 360761870 161574876 585421684 794480263 434309698 711696572 382327572 629083564 575662715 528547452 427813912 430595309 251586426 310090618 655670967 374781131 218769024 911089306 807242807 529064115 863700476 228108473 406022506 233396299 953782492 342459516 353204018 250387079 350746607 594583061 207008662 665657342 178519608 392034452 182610429 673575392 192992622 520070219 483528199 992805707 800475477 800631618 126101893 305871154 602937266 194967010 884546424 587313683 277999640 478331368 823917065 521588753 334388328 688362744 761614361 555060586 415964084 198090245 825814538 926629579 308137324 478346227 870829468 225618483 776109426 856298228 958410111 505695015 892589272 730328146 999905713 775604698 673096805 331816405 888103761 800080453 644798061 368672955 106071502 646375136 390517089 487760330 362545601 844557865 358851468 442830030 400966024 638797767 334371596 494107106 220132127 997279275 405678259 783380255 485152476 977679618 307133378 219375976 601579973 669731155 569757237 484488809 365863214 244986803 593482314 814627937 720172569 155570032 772659086 346818004 778725274 655725151 612682498 664167500 585191502 459877501 915965796 728758381 964978571 680681058 152556677 924523524 694417403 829155066 283575673 456699192 288037627 197300560 246261495 918825922 333649798 907047947 578101765 698614742 652920537 594938444 158868887 878208853 249008952 986349764 344613097 235209153 569955635 458871031 606874400 408680037 131370686 271739431 554480553 730141515 579404932 563035157 987309204 401021191 112569234 437221439 262232851 761769398 471392115 220046928 207845527 232312393 910872635 189489992 171009475 150650736 873538219 596707920 266332263 605371957 978115117 232377804 291974801 947376139 335012205 507919191 925263085 430780405 356520952 218829616 907335638 441159863 197495805 802548247 673894384 837891391 741750929 799799902 207587924 184906519 243364913 780258081 585542146 992189639 529505902 163681603 797454388 969938944 570776833 569089266 149578287 939613890 391741074 293185804 310271279 967992396 938293624 619382243 851574307 740089623 839700921 564732864 874410524 553879097 474296244 757127017 928640725 778592930 440929100 464792609 402462511 768136093 886487721 929010387 767850210 942545162 538655263 990318795 626340491 923854496 776377690 921416754 104009015 459529411 204404567 137695493 585785299 914492179 929525420 924002692 663108782 388380079 274387021 216507401 360902049 840342103 435280835 948019401 860428077 281042865 534538864 905703853 983659506 501972301 777430136 373888236 904898357 997221184 489647547 457823385 772154628 535238668 197013475 756799508 282049736 298645016 930711412 352493117 448939094 994355743 879379712 179543837 693085625 305272748 502161703 446111509 157318824 696829861 392912813 579112701 958411708 968234915 898268191 847545630 136895877 557175504 329693077 290811530 529364382 303470084 843115682 748422557 301833252 929875903 899111886 637624535 377881347 220182616 201924651 225279931 563607871 894644519 573128885 871766286 321755033 363834163 150805650 994229372 194159704 229783579 873016716 145061265 171412739 271644493 568777786 610039200 456408976 264711061 147013526 734713504 424842220 413871428 457907050 999851848 394164373 912839568 758952092 665905985 551860565 636543750 262151000 382731811 286362014 128395160 485423895 733454113 767735414 261218607 657094851 802965679 847520631 280760455 508452143 111049172 494816499 118700108 591878803 690603957 542643845 689347925 875397133 338925116 225427926 163605630 264840828 604008642 367987706 428412085 713085135 484842863 786159114 664668666 156991938 729758438 466195415 856351821 846406721 648844696 973743964 584713973 347909000 110332300 599532045 776677958 350415722 797333761 682160053 160641372 293094117 267602090 129186100 647645568 176304387 121645893 231381894 997381381 503665226 285277824 848530689 220883675 371200583 521938484 454927204 591263807 787467639 978023726 301489486 909299713 637445225 705605645 316961562 193110198 649931292 210484112 891260962 425676406 378737522 484521253 426648450 284050875 720077094 363446530 827843969 627672679 186792425 646169713 653659810 885491081 182819771 764737404 503772684 553761919 437453739 960711329 210577867 880865662 999493778 312746233 924194471 812551916 973069967 906675026 533445626 309111221 288509971 593948938 854531522 414658480 237620320 146957475 441620792 564701470 113899098 325536074 411389851 978654570 495832551 186645081 463323932 213131622 695158651 156658771 302616941 684188730 532294644 465263061 148092003 763576764 813368158 363482110 592094473 910561123 957273118 569434034 706462817 870856562 259751487 677218233 718607469 734621815 572302127 144484752 116176694 573229709 300692287 118733862 571739631 283818101 197041641 277032947 319773365 775880096 878439226 455220856 834255316 343368144 188182856 359300276 286297436 445407739 419383297 127487863 310972252 680614791 459963676 403897642 525404617 843737883 287219009 755420130 334701800 743695784 445014014 157733973 721631627 871245647 808680387 321750025 891148933 159378274 792164070 948250119 738384814 751261421 957411472 444207141 651968333 476857401 150083057 116576628 815119610 290254364 373286641 405623745 509021609 378303966 545725155 147565128 227523609 853269636 752838700 642701772 906719722 358348207 809249283 822897683 789552400 453060968 952510579 614337546 381364652 222278395 453142294 772820598 984240125 485261699 689934605 515440597 688183437 662224546 595993975 815576762 533422999 499594467 960494348 345121119 178416771 965213487 154200434 177260296 617789945 220212429 727708452 945482083 357931329 122657389 901660817 620902039 909349647 379405434 584310690 850690065 604422074 609379547 458073223 169068228 502160399 754556664 402930749 974650555 766177439 918694360 841373633 739198125 105600992 483573841 484517937 352977328 528768235 877276160 522991019 242457475 155572598 446525281 667703135 975769198 623409117 594835527 920636727 826174968 873362545 812919737 217179679 285796337 147097417 412626827 859137240 353932095 925182264 813965926 333019954 789377649 820516877 129112444 203383260 593757055 602870619 741152040 155238553 482914374 946167952 544675744 385894535 323663304 879501111 836117097 254321329 913422604 793438472 640938053 193760393 372134475 653494731 646489846 747251125 710155772 904475145 162560968 770882502 117689144 194499129 456303728 906288349 185124678 133197777 143355884 977072512 879300063 179643861 874204480 407978760 869730347 204382646 389294310 548131924 737026377 403486029 285105389 833406243 510230876 565244621 553960984 427292919 883656114 464528502 441018051 624379460 308230492 388526404 758102460 949421944 642266860 294303561 530363182 497152631 864168367 426544782 653002095 277913153 632947732 163669574 668394466 452995033 815055545 812631039 427139409 752011001 807090920 915968218 175026539 195051554 946414873 941036693 761445832 369426198 638731151 583023253 867752366 961859846 955554229 205817898 741899115 825984526 597299278 416296689 115138910 821270124 888191482 928444101 297494011 885787180 841468528 591694238 629406979 488314285 243037294 616362334 853824663 491312253 179892467 926715274 818526367 448000192 240464415 928205015 548883422 841114427 974944761 175750112 512308513 264851884 646638733 937096640 799465047 643949200 922761809 956170264 103685392 170819112 275384373 814466656 836054416 206925095 597442633 337210517 200252221 345396209 926429806 837246222 850450248 626176423 795738967 183546645 383969193 488758518 871515594 853665857 676657992 687682363 668610004 475152738 965846512 845481604 499770401 131998299 942315460 373368398 863432186 837782332 413017458 295342634 657841489 859105972 884496268 896937482 985846481 810063329 172685263 134166913 216666548 515038765 495072748 240129656 639159433 688108075 385319739 385234801 118280624 455096386 628963956 202345941 963655050 168623346 663218562 730784937 136867791 240161609 260608688 943318688 611191561 448797908 245460111 506805131 604275347 468284804 746426476 115065538 982479118 640007090 928946898 709538321 627687591 983250249 646453966 440599191 856153711 170334196 503620830 218312178 895797055 140269006 383454772 896050007 445375044 275964359 357046653 113487556 907682850 991287477 794968391 227807390 932075065 398990538 928019051 768600293 508058200 926663380 486487740 187823719 188595629 799197139 941117015 632742495 748258831 990054510 961012367 118316191 346503138 758479703 980006640 434564637 688499185 196515791 632717970 599179208 694554931 340144337 779554088 830755677 940565245 352143164 688820811 581953402 869136952 136478366 624129631 959897152 707935153 164648751 906551935 841594920 819617486 847763504 314856310 979736730 366410392 386776717 845926744 717563127 948446375 475713636 397644966 777315670 650912584 242652438 957754169 986128789 210722690 731547181 246113117 254233987 532537692 510927881 146221909 255435031 472156186 338976471 210634032 946795285 681547428 267719567 888316804 334874293 527422357 135722594 662770395 242073303 993023841 106163353 935000277 680827879 847191254 709324827 357274664 546288321 233037780 658645584 110670337 687906625 398945579 965094169 927868113 712987761 895853314 485052938 543860901 374790920 549725610 167262746 992562083 272660174 838604259 262840023 427236817 764875176 866922773 657890158 931052522 215899975 711883012 659732850 708015127 483095922 276689590 588764734 937115724 265194854 264322635 387137619 583951829 988686463 621700234 216836770 270830215 410982526 238731774 269829487 772686194 949080666 142772008 942058342 573595814 358371595 485312968 208380028 904589898 802527420 370307050 407744075 157023333 927267047 762550669 283947959 973630058 418246008 235936262 850169588 971860021 976588332 265849265 842157443 708603163 188110298 413586977 325254322 998347367 157436569 174686823 319882580 771142822 972765458 552961633 613794225 523555056 781767834 192037913 831681973 666397873 698257591 169803462 312134422 382953660 293586626 491145562 220090581 248401303 323348980 681404827 400031330 898963175 248987709 593695342 625017171 333136078 611737187 849123761 313605784 825138811 540109294 637011505 106002957 203651370 422882682 810084489 516606279 441451602 112396804 504549476 434904746 346646013 834463110 422697153 830512703 984511082 892754175 243733393 625931404 336548838 146035692 500707252 421283475 504784014 684172523 475458836 211689496 667076758 574171350 401175467 708703222 459415726 178539070 607887126 235342884 796599922 804089587 177951341 557506458 845483322 523157371 314814354 124426442 119415929 993685811 943056657 697429135 376096695 942460415 927196729 275009336 680360381 513363971 727914887 490375627 256881380 214968800 209051174 506687874 747510777 229046412 631732693 582668167 204849463 767861580 111535072 912474922 526439504 696237022 501198280 526186574 960148803 215711276 597856981 231437106 668646670 567271597 444503958 822488121 433854704 973519853 119248615 669027378 272432113 637591469 776130795 184561895 697825653 431948346 585326413 551400441 485721674 784005133 399088749 807283465 704201027 229293149 614232598 387128986 180911641 462659631 433315407 688019608 727098529 335255815 556560560 712248254 464704926 747227647 172766745 251873299 649434915 726281669 761876431 609690318 614658202 441604979 138815666 446647474 554610200 838575299 981015959 504658275 623643054 996903231 468023044 263275183 696299711 928812983 135317278 434655725 681646533 501579737 399752083 860213923 174873211 376154332 832916042 609219345 190331653 717406265 600776404 736105911 102226347 456909014 309338972 252088510 853733694 798819186 707710916 197659167 451867508 557325693 927477848 822829284 706863261 131876509 353032767 807384907 370186887 889286181 404186613 395976353 512816664 216790884 851081731 900508097 975498230 355998330 471850925 545585706 687742261 894962930 232127080 838865081 133322625 634516122 758840125 861886336 538941491 663988089 452409742 662909693 156958483 811621578 452101824 297370274 181788040 200811633 187052050 985581289 749159547 119139338 525936044 591795086 396062922 206668377 216069095 151926333 258313784 520888566 478598344 337260469 835349205 723917838 351982368 628806663 890591190 574612006 286082844 283454703 976683010 490694726 213842919 590050310 297772401 843595379 808276848 968947249 282917613 903965725 716213291 349356362 915122103 316418992 682173038 716007413 281918399 780596086 125365029 448150805 804275483 629535146 857711720 716656192 919299492 120444098 744906267 406136674 161928128 840920883 603107221 279107377 664204674 645063619 612189372 744489986 606336305 319985014 928064140 516616611 572371354 927245827 743752172 165007455 267438949 968374032 634261745 665459550 922079480 484031675 944792317 997058835 765166589 269806599 495247992 695262778 654011753 890866591 821332550 238720937 647868621 395825347 925243276 253518493 180183268 210430561 875995194 718585161 307898604 961964520 830454477 750235236 554606594 753358477 319386878 745103682 550318128 281880255 138409484 338361991 266588588 292424892 672729220 755073268 210980219 815665574 686891133 790223607 843199436 961026305 984619752 218827338 573508372 718487487 217681045 316642526 451026362 771684546 219860540 400692811 185495031 570820594 932155544 872477278 287226951 443641654 964195348 817810962 176085525 466345255 412956215 200857313 753957919 970031851 584985253 110250753 756541985 479018935 510518848 800809031 456216567 273422127 290094469 567415202 974310821 632406703 303510773 223956170 918195478 826450148 824711459 758747782 694168353 286400094 795007828 322020225 169057691 923125586 630147630 365392076 172295105 428831959 749531367 506013446 480434123 614986139 898058832 430365512 930924382 694194687 443811783 997862181 256229664 104508923 701215205 551441601 188247142 322814588 330872722 251023113 252555413 516347856 954645384 862020617 213944383 790754381 380586456 854966307 524166494 500070827 462966623 239175461 306959334 546171861 730742464 417752135 249411474 669265913 383844222 692117716 291725821 182512511 891076953 128889317 207862820 181942716 968020270 497390423 989275524 958751151 343767555 433708481 248063512 750619556 593011652 551974457 285806548 630532127 160387276 540356483 884080379 920007099 569447656 172542320 608118182 325585839 152599934 403852938 715183615 838950859 763058016 952003122 460735959 737586416 926469384 935423712 959249514 222934822 990325188 479108663 202366507 363962756 936763047 843569344 205895296 952038096 501896356 469781802 801003924 496186358 116171961 932252673 393561325 101095722 788805243 240086732 255741947 799583245 462685963 316067206 279175625 190293721 650968056 492243592 105640793 453840589 208372442 572487879 328820617 661113560 644120004 624401424 919129633 832044280 544455395 547850586 781215345 361227658 625252091 279886185 932441984 999000821 179247278 278071676 224598845 269240179 574364571 887979080 211016279 445594814 688437741 167297725 435275162 600899753 428410883 894788076 807508258 464516817 703691204 552645528 803557410 998773951 161865657 296632940 641931963 193030574 119061288 303803699 994844154 679441977 275125736 504929329 773591497 167772831 513711219 344547296 642650165 757393862 726126479 157170963 300834604 968428659 198578494 445362266 318015629 429908460 158327984 491450118 400607635 797731565 642467014 312060230 840949767 476101436 923312939 618797387 353781452 905653278 910916869 380699167 577274491 399627642 711149190 946935131 622207205 956484790 780967869 703932578 892714733 528227532 636404256 219894404 544428124 572607950 929444520 613435407 719190965 260210704 542510838 703029275 977501798 593526833 228652120 191677684 725363477 115634360 706983012 429507469 441865750 932096328 378266896 325528397 773027368 498049508 153510085 142816550 697903334 664571180 600841850 756930072 807038633 880847466 254585725 969915991 628519062 985160637 885951644 100649392 346553124 653881727 745924390 180962599 592435099 118839848 833882846 837787113 652522637 484830959 167512262 554360462 464403710 558969128 449911070 260955637 340477073 444020604 536076422 442920242 242549786 958540521 740153670 408379765 103255363 424615719 467272774 958686681 511818973 994208065 900873026 147004613 921022264 437513920 578965041 122385580 837709260 294269935 851592365 167002333 375883601 914265223 720460427 686364109 837331215 669684384 435020632 449817337 173583462 429887850 325225717 814959167 491727543 503554963 918025478 468057656 295122106 364534883 438982956 234819966 770811464 397367136 811368312 776494653 375296490 219943720 157461975 668767442 833175694 976474267 717626310 915947691 949608521 775641426 642064464 872750186 218152167 396076403 752833910 820238466 767690596 500964864 861280199 582268122 757272225 300876602 790526769 198168284 517448063 789817079 570955627 278662288 508080650 214726489 435360410 434428520 521215196 186546731 993099208 688398142 807616671 346574427 881355033 579174217 807036911 709706001 526228114 653237372 546980540 353549128 523068323 523574640 935400586 129708990 761833568 859135171 603035961 322955261 437850155 816798334 771333455 876268189 308203983 466585343 536454191 176407261 816244380 619745648 771254163 619719131 835564269 479706983 942871205 832841271 100299933 352610300 869255947 955038044 971832672 559188427 529565642 112099035 998370446 468014463 129732885 288570802 624880748 261515935 292129930 810585696 840371554 406627390 948648970 240830457 817249468 134649682 630769391 380905708 264761474 516479694 156664867 605516406 414921358 324656428 451386061 463046793 499278958 897467117 166588224 574758636 197464025 396064371 224077436 803168272 214017446 747428470 579402740 463052388 409636124 379594845 446008718 689344446 954934817 322311184 254112065 711769617 929228498 338590543 896092385 419085485 219255051 443648836 514466867 700254860 427153047 362213855 827275722 910455799 842147569 536394065 267265456 361360359 246199239 376707554 583421245 655366536 434262723 941321897 382510453 326835048 375241656 424930947 616526997 859436137 949924014 171651124 115771356 105249678 354479850 103585883 109446252 518148372 573926387 742428770 555187955 550768576 408730534 769663435 733212568 499636213 968435721 189466142 687326282 469552395 192546365 649915942 672668211 317248069 579628308 395158406 371289854 424569273 594258547 773172299 459018941 405895066 968728127 498917064 221732153 166526367 870596368 497760946 586450812 524539161 861222272 163649649 885534397 935775326 394237291 985301904 232459078 544663526 569395315 891295935 204541249 961423770 856570210 600775418 149353483 256978845 507753240 578903491 191802512 129249285 380107377 175900762 803152352 342688233 176358651 180011892 866041362 809292100 922640447 513355098 854072717 927436148 221178223 837592771 321874358 228396045 564151756 238597632 994785790 153828036 587030524 306441267 805540432 540491010 586771672 340075466 585911955 766085794 262718159 854151437 903610388 735417835 410553135 113860705 395739763 425671445 973412933 166635695 994275880 225847447 928294726 461182966 256800676 142382250 681051560 971902323 612082420 591400645 790925659 451131545 416060379 427505559 182734854 145414132 431514049 933991707 419956775 507772815 529873041 346403554 791571531 423706373 671114847 954524220 416884528 184366487 345702783 895489786 669756661 826018499 804437891 588462626 405995633 928915918 536329631 998720814 752205846 577567598 133575476 205978425 758050363 781549542 956739571 246563998 413912447 294360734 415247241 604899981 888176489 470893158 438640029 499828629 683616255 768163578 670917061 257353104 721671416 499476135 452134481 331621114 621749400 252133652 417778866 696357319 307525804 526319173 987059481 241079375 534181273 981206636 900408518 864328858 221959558 391202395 463835897 486157897 511477999 445442315 148154079 704750027 987835449 413099222 261816546 997790335 678771836 125659358 909944575 579896849 724490807 905595935 870497628 404615725 604824014 649621889 173836425 180614975 145044573 589653398 768630530 275718069 863907039 424305493 710534562 797606279 383523020 427081649 951949472 560320535 182467327 778466304 579705693 159662303 490938249 550345643 193838548 551699845 772735096 404868197 757249012 666887391 329591436 588588172 260191168 555275950 694427180 582988188 109045561 978227532 553150403 966070411 513750168 123166207 323601888 199140909 889331949 335936731 232096666 867301255 117547014 802807706 528624693 257518073 310076718 844500481 633225943 815486380 575605896 585076163 756741151 660446156 271372345 943165849 292837995 351589530 575884587 610142336 436697458 527198229 492486061 454064065 380233521 663758051 806325071 626587210 489637086 126686186 782230708 702336258 831665548 942016939 964561766 426061709 836193429 321931285 372474451 522777522 957896771 944038115 837497820 744705732 294429234 273454091 514768276 721636044 937032101 460729903 813083522 873016857 294903079 128520067 593602594 506358950 253991675 321963994 238412406 936989113 597797603 649517663 492381424 106754147 314217421 591727777 397715959 999677449 481782812 389853708 478113229 551457772 509601092 154104361 587009439 780555628 622921396 124146028 473381281 893939214 907719381 828432391 118591385 179230853 924426488 765535398 857110730 866548825 264296736 595643341 691483395 573119150 261499948 709748027 174107328 362499741 470891014 883512258 960186997 719880725 855386818 653900868 490855851 445200865 299118682 284566292 287821911 777036574 588878270 345227984 915636140 783773968 939663260 583946254 773205309 511605568 726889860 732489760 598635090 932301975 659355599 534444792 618610109 356696573 652223540 344210983 131791390 216340371 317010075 503832579 140027200 444179862 839984372 661836521 996525782 373852905 909697270 281142619 378084093 932943566 899976918 843870364 663968084 557352437 116581682 293777233 885078781 458927061 680194673 311194937 362937850 134781367 879253277 673494008 434968732 748246759 320760392 586078213 891995019 718808062 668582407 533683316 600142255 753056774 795022666 630078944 695024377 439133478 674172930 717104614 945176217 751631494 892464904 725119930 594899717 763523466 405046965 457932432 863177897 682782213 869439905 378716982 934305615 812761429 789819936 736063426 110917500 702115459 962198962 427846936 795034254 603521481 291786900 290619741 821940770 977307685 959180113 321626889 702217027 905776404 622396022 684817591 261844194 989556953 436418537 743759049 111773728 972146819 303708213 999605994 726191020 233294804 535889877 973142840 472646235 233394137 600250137 772027688 525270142 657357930 740250322 845842216 488332369 348530303 580198799 103557092 864683246 832192972 699446416 287107103 829607278 876315387 725777648 862576030 796641148 863131386 563761515 561843560 911779546 247167139 862918764 854113090 518901727 123748736 143193474 267142479 371969200 941090202 514346190 115167012 683986266 348938706 395625022 741871140 608002703 146397462 248190702 789623588 196788031 693625077 899513637 758624136 188223825 286546914 986978107 960024953 758924570 197612294 135217718 295878711 746342441 459797184 442821470 986116824 114962687 858390382 872472094 981784415 296509898 145810712 411007077 994879696 467209528 843188876 579321621 200299054 451998367 634521534 222807065 122402454 702475520 200498075 248391701 211664921 658157166 526857472 875491002 781065406 692298369 418132016 698498675 194138456 482391247 434427388 640763368 695561697 380940678 331766457 509872252 739939564 889886488 317592092 362521035 608611038 569668245 615678249 363281733 768862347 812471061 732645059 807695186 375834182 897150252 847974563 785783279 412927978 552911145 802762256 308092004 775511107 591691974 186145843 647945451 411005796 680500606 958355779 113703099 494666286 468199317 443805931 538522196 959993369 581853631 803554108 307644089 465386109 991151212 701421358 889602409 411815042 474533212 724329731 379286176 345163320 151897751 965377916 250365561 246450652 386284590 190358279 125510358 110202607 294801527 393115821 593507768 588499053 318175211 509468063 384292198 969189068 169256342 386337963 643560307 713456642 523448636 110834871 486193316 991089966 362913248 258377739 137376712 588086559 439654440 403803911 216223222 403283824 289462037 954047326 252706366 552575445 323104632 218617941 610007958 172094094 670973580 727703499 823140414 332989893 467265826 113639611 451315730 829908147 320834833 972922534 268790696 624059793 249454389 734013672 845874442 541077920 822703496 773466615 432370660 786952494 941522675 147721796 841662661 853783478 140939552 100907911 410349152 439428029 387994017 848004823 229576413 533608611 197476111 583349302 230694960 979630633 486608376 506541432 916253812 238209236 864150129 620685078 875591511 914671513 362869006 978379706 990770672 986051158 369787825 927269735 774328360 936837523 222522224 416267656 203855050 253639661 381668946 302330691 900625720 183002317 383907337 536942896 223319023 691402713 820464158 946699184 837228780 812886730 273827533 566981679 372865189 214549196 722348616 399551720 335248372 410877331 909712373 648949968 786268932 984333283 945835564 473679958 651709094 502204418 701922829 824565612 403697524 958853382 168143578 264982253 521254167 362698949 145089647 609164347 424691280 800699711 368857478 220830502 958809033 466641948 859976663 509733608 121682481 733398866 387959040 146657837 953736797 448462351 596069733 454432883 226576465 686396862 626373425 878991661 356172525 341204136 607789588 655750644 169555915 997544188 394857848 942405174 685790948 266093674 531274876 531446761 567462570 570239845 328126114 312852951 614624919 689675830 863619596 678964813 554912458 654591956 178199610 132959614 465258188 956033249 755587333 636480420 678329350 496625670 893885008 450773332 549266881 448308102 733105743 656815680 247587299 531508053 882372519 574649455 441688965 184186729 645243937 983239136 875207616 638876051 647555959 589608884 757661345 230643295 394011465 584458198 723735541 257049655 961211076 346720124 499185285 763604075 625329119 190329246 839623074 305382457 736298287 677783711 809864930 688274655 920110033 485808502 662567063 725382650 812827650 522574750 759414870 421131879 958843402 443361414 694432574 213163488 158979295 806084289 338520366 719852804 681918302 137303737 830516978 567375000 752451227 566256656 654293047 220995599 685830644 992572948 827435526 516268460 819636223 941368575 848524231 534197518 146965131 953422098 914868170 246986996 647477945 923682996 877349578 857388178 871730505 707679401 984792709 228031454 331335594 345562104 533439837 195333344 818475715 541551305 165461211 603670335 110282832 374071937 815304955 647032181 903206707 867823786 643968476 864295613 684226055 820874145 633966545 380892516 361695856 571294641 928046835 449683505 609877744 245071572 697839642 689240995 798510552 868017063 647213214 171652467 991779733 713530464 531000202 209748711 734057385 415907371 888031395 362290620 844434406 880000614 719336672 378963089 427741031 296004689 631972955 307368707 799497271 736442685 911367729 956579942 267754544 395600692 264849559 657592066 938717387 481905291 120829792 206702506 361230984 128728379 257167697 247594082 110788446 928611984 863973289 498028212 701079067 193175056 968985867 626359871 122756621 783766198 568235358 457714064 573977383 544131450 130199590 110054366 997797547 798240391 621426759 274631583 745516149 440050152 853088583 894449033 263974653 394445699 371412603 423793025 580825265 786712716 729131033 750087124 336465321 334324661 727051090 511345848 141960256 860978599 391579109 275032983 870066561 933428562 801159108 322675073 208418103 728615105 829073386 179254522 773382025 798477003 661294969 548805906 570417559 974911328 421807181 323078038 688844308 417791044 486066323 422592942 957163841 235643058 396077440 331659094 208363588 792289350 942820443 517324957 627621724 791749062 850582030 969126826 339603110 773569005 925567202 476372142 491731241 807131866 119209989 465728533 203786156 639677138 616088181 344169347 616600055 969479899 867865680 804517291 793053935 454337438 390226849 673530696 904312509 454844245 772353946 474849606 274315313 413018422 531819748 948389284 563414989 993164818 813149195 226633001 407564725 353338594 231263770 485113547 891163741 171947482 557981619 790526976 452744617 262754595 908924802 163615150 801414723 881762798 824204366 987091239 607759925 259081504 852804778 304248858 873599564 821308434 219560233 195521639 708560665 253806559 864518593 423999822 393001958 586607607 351588172 470841780 535325143 980124831 686885317 727737797 816513306 594868769 854786815 217043742 565951716 492759486 396760095 852387214 519710060 795188241 690474307 456198690 222792953 187091944 589270328 802793125 438098187 490786103 580051579 666904910 260674712 488201691 740713654 182006395 526923756 299067252 768172073 169700695 927916458 988818225 107824278 272199346 348564926 503890456 155845840 325121888 689904166 544444028 524353928 829067575 642217285 609015837 759414576 717625530 334012735 259130238 546815531 137675840 265715903 128829283 826894854 260513773 765210671 811306174 801972883 168310564 270917674 500510325 663165297 259977482 780697809 577626313 405798155 796498007 292439067 114627979 355082871 839291261 181557054 438539654 646094303 139324282 555973715 597555136 244728549 946507115 433077696 334635154 148903384 902906055 663720076 215144754 391889851 897731823 512758385 447231211 170320846 851916525 623087191 376380255 635997052 554044738 240592984 731596973 783937464 384946605 520300591 210794481 873062963 133142651 931473093 821694703 465870560 161009106 170118470 958313220 903254152 171466721 535871453 118807678 228900397 392309769 995641846 704806088 407460730 608106109 161865765 614862599 591704890 512692654 973502565 842933803 972691699 639982388 431048877 669323572 228994217 646445371 172101668 219448079 252049876 348603073 519221858 160619838 567581917 755150890 483857082 920060440 988353100 119271457 854419840 146109836 717265096 269795602 784714226 710197817 394343610 796855588 466282791 703118036 466893255 837017810 313813956 248734863 695091170 189188068 268283480 704074930 815292742 506066285 784295644 505042470 553871330 813129853 234151358 479124717 726671148 148921571 879814092 642130816 318300738 223408025 729524369 763289144 161562343 147882019 357142145 757921011 769352118 325673860 700878007 148779142 987630340 376072854 281043338 603986002 555219378 740555740 210304827 221046129 116342758 459758984 379688802 129548637 281342922 887702252 214962911 614656764 472730738 478941807 217610093 172886923 852461146 122618526 472133611 966757322 338887446 845996213 397491650 968836078 568366005 152696394 531521882 796201753 971741797 322935511 854377679 304530774 155510945 358862050 430142798 124592896 893342668 588443630 488466498 187592849 398265065 701768719 636356820 557992866 581354619 350186516 998121151 481971061 821316659 640383044 456818047 315084768 303421702 644564034 781822468 618798493 248615092 479177370 253346915 727852697 600115526 586319417 743152164 362288325 935765218 461584305 857834498 939542896 155163501 513066216 729082574 317731181 139955773 231883653 862502819 969167078 283241261 648268525 814793320 916015620 570922201 879625293 249944681 724116757 276724824 347139018 259864771 954002625 985778118 435200168 956424008 126020954 718855998 203346831 422003691 149835439 665833760 208308801 144416371 397489224 964704847 398276617 259930634 891090574 964269568 317726372 906244006 409375084 745154265 224333374 635001037 825135310 538578587 820746644 863195006 676336555 170853173 989225369 997490925 880012353 277369733 240726110 698525296 504457498 872712438 352823124 133647446 690130580 706684605 819384746 561270234 907556049 426796856 216346752 493184233 347457502 811354287 363146913 877085701 249491523 309670598 763151664 695929794 984511633 289222280 221015089 369019158 575370549 151210448 884106302 168508774 134465538 990238510 573452308 476182638 401108421 386376083 705239295 654952881 650319957 748733522 790146729 363289652 231424126 143026528 373733993 438304086 557929764 496932514 521163018 559427138 366019246 105234371 390522370 698278131 323163302 639524428 963375240 444437878 271552560 803757743 532770092 727401710 949738546 189943201 282565170 831953173 270219351 483159642 520499447 501299682 362106709 159389526 832077160 885947789 502145339 187573453 190546337 955413697 331535130 371232663 254394862 334184221 282457919 970358060 273839634 582835201 503367690 801214689 149602023 148091724 265276158 575455204 352362106 245690092 467114938 451020933 807751064 749538278 597577094 497693357 895268276 684589182 303113874 859791095 295514770 194091890 139501940 686096566 552995597 211626504 167468311 194894081 540919115 806998910 665702180 910971507 293540891 110187705 166807559 367673112 927078494 790830595 336488616 699209568 964777451 840103177 409964308 729801119 978300588 801759695 562345732 488369199 786211494 291888398 143242839 983520149 939111941 684869559 338175947 648930537 287103636 416192033 667091722 359116373 670381514 558578318 305016880 658749038 999859175 689625398 244637657 781591784 390812385 369325296 737905747 447834559 604533277 625241224 615287295 766464959 786276474 853366224 522461420 271370327 945376536 635753716 363266122 361125502 651440139 137249484 659147398 767825172 265035444 726423892 404025089 876635191 289009531 256980258 426188393 566065115 617920815 571667951 252855472 157244558 346268604 782023500 899691717 226900811 373711863 768812318 984862215 734696665 798437795 838103031 379223003 545181548 184143547 330596728 695704219 143957285 559129524 452931187 998359655 344835328 856673696 748720029 423703116 877910573 346877764 501018270 242681288 748397594 954198092 887385278 670170720 927668473 128861598 321673918 288647480 321662702 499755739 922262296 440374235 128195940 918616210 650726690 950243704 430377715 268971170 978963117 548899987 406919858 239988360 202833890 934025839 751076835 358460338 945316461 802296604 166801722 404937119 655754475 880581292 498687979 403885125 837094250 132273035 637363966 198885459 744740700 312441702 339930598 283476701 529891454 152529810 700990026 820120410 358100896 265063723 640631128 963414816 623560675 699048309 676136397 973405138 395448004 936381531 326999545 315501138 505837505 638859723 102006609 446602351 602516718 925921809 820405502 989547630 612203206 413908441 557001846 212258593 106988416 674115876 996604328 290976831 181516672 298464050 628056393 837205553 605583402 501670410 650839453 794679778 257499172 608035205 532527527 447609554 138072721 622302105 160448370 366331117 953600617 710321499 275622106 362749051 928648146 851905073 132667678 939782451 407592323 762305644 920691658 904939517 862743307 452354271 436342529 505487663 588315388 751696549 850218615 257143977 155286121 803444246 619285932 857656035 462422811 638352847 818519348 429102407 162151312 872465819 628822017 367674120 584315343 179279584 438398066 396950758 802759947 587185236 993965209 658512464 214741759 508345690 849174676 430343921 688035170 113726525 998414190 732487965 114531151 293894972 768518119 722585778 685428507 929951426 995302738 237756366 594689609 981829816 586190216 944304139 397328657 483593470 508532837 646618647 166906562 813214408 360821653 657640343 170616713 780319322 280494969 844733511 188368761 251141071 683638955 101497952 324848206 788274287 160225053 794980555 128503466 270228676 836782117 901919295 354210090 355759855 318545836 433879435 389001133 494649518 942760534 149810447 977381942 582956454 744329950 794355445 672874255 538026213 168087435 665303338 571099737 859087967 676656804 357125985 261687495 462970114 377890343 741652041 706219139 513152611 544808517 236232402 135199066 499230927 823421425 174909547 836393673 777794082 789051693 913821843 852369106 441206003 974679062 511286322 991769665 931769240 381168125 156336815 936128833 453042222 248100107 297912062 128262220 114350981 472691624 123010117 388985670 949895106 899216765 364839118 112454831 940413711 461697015 114702036 727546527 363453541 816441491 188786322 780144306 424566115 369266651 773295894 186673417 479521522 894315263 429907176 210966942 840423658 828148798 574861394 880350064 940739199 297236241 100611799 554472643 109767227 331494556 502885504 293458311 172521032 443444586 563995602 118362094 944593669 118996728 757178800 950410982 316951426 358075829 741128087 464192205 544225246 921529711 683554426 648602328 347364866 670602844 215117098 778725075 380843722 721034088 261380814 957112179 585580762 454713105 537667528 190142031 321458873 846440269 914556579 779139237 934154941 790059628 531154536 187825611 350277614 479429158 669534615 162819875 369003150 111813558 372004764 172147543 996689889 881008709 869436347 571384752 115471827 799371129 325342397 704832911 357528617 218285434 152281257 983335642 283013717 515499138 773855208 982430017 902364831 486064425 460065491 512483890 130657861 792826218 267975608 497775562 558237889 658787603 646148244 723171586 778021879 736568279 149239334 692203229 690921421 728860958 381428771 573954487 322887554 365808862 450089032 796535022 587710409 223343375 946687388 534844109 422250676 908774592 779589603 612628492 362615576 685915423 231166650 781972881 232745731 139214679 639687347 558754820 579234485 702558464 172493008 252286896 183701679 792864215 111603928 947357875 913909010 386125986 358165535 616808387 144182069 997319772 309568756 297413168 486392090 384496329 614571835 226078728 958036587 975164151 654101766 179451489 619137860 614291895 326643074 452530425 433186300 532058038 221671826 308618261 680732936 241738366 840696818 389147602 719956225 172436941 637880233 581123516 232642423 404262495 673675201 894869909 647201656 977139191 991053290 507536501 930581448 474521024 145827114 783452196 124453324 502657708 248796340 169856486 249341454 593088136 447266621 156948154 323618442 407515277 316177054 768024151 916775116 410919695 304934148 781489208 565616534 970670473 617596814 852869022 683938261 969932241 379399327 216609472 344836849 996086546 597724475 330130250 493929954 665415170 680407296 156883327 372183494 519667353 932691559 653602251 464308018 840646265 950344154 775117697 467738341 396624641 934579529 487591885 338642445 457610778 200816230 987659638 717135450 855356587 923121383 161888123 385375113 998291505 877330252 789220271 601621009 175421679 940837138 952567325 929617574 652927999 165187150 745855891 817992879 491789540 497547071 348211718 793499825 144230779 190797875 349415473 431621861 775364506 301276688 360000362 903869621 347878317 144974331 397757590 661694401 764744349 710666428 888109263 501059308 769872591 639243507 563136413 992809210 660859856 729279809 841884186 190619762 257659037 516677759 360554027 426562382 902518460 627188963 155792358 875801267 416776287 372956977 546182131 719680914 838649783 527086613 216746576 806589761 160220052 700193220 789847464 773968354 265408296 250118959 753770263 909920731 373099319 474353995 918411289 919140877 841974759 602824977 672269386 839335207 827179621 878235058 483222101 344046627 248805662 462348477 745851693 141096231 454613339 282398278 308713977 741040528 384895516 307282042 563129342 714887657 200070044 537764634 103425650 705156433 284800691 255139328 548204327 719150623 383907363 924111098 816646107 609356317 656251493 797252500 392284551 423284680 967677321 179322125 793622271 317135711 667893526 471090100 872713062 320714214 647397252 162552017 468243782 701303896 777193352 354279511 286597830 910860940 703010530 426681221 416492533 803707852 509830261 971903578 700405856 678240673 357384271 405893865 988094492 827925799 848025014 616758460 898473021 156443885 297230270 367903589 399749200 934401031 673585440 598202755 607555159 163510414 464827636 789880652 734261512 789509170 847279736 887985633 783249265 152311145 506637844 459935323 726806002 492008926 383359771 659179947 503367546 695175337 872887084 113565068 523126461 666774432 598522394 720411973 207264135 295346579 960873564 725893435 980386595 556148686 425718628 912742538 483369029 268344045 385604987 969889248 620942657 595784292 114073032 487414516 520434189 404740314 141331177 388281058 866183264 169633197 850456826 348776328 694854900 795737872 897065486 975161445 998114791 848327939 343337032 211563525 933963990 510701400 474112939 254254180 182072858 468208406 320691065 123298018 612625712 371164738 826789571 385239369 275452445 379375505 758171704 384165397 950057398 873948872 304496188 627128509 272415173 124154338 292498082 951606042 911967006 150970630 616159493 767720155 616123009 248636342 147415890 606548630 701512701 425511509 228275164 821816914 607400899 172628351 642704821 849593450 648533918 746845706 770003490 635474470 824953899 521980044 668686317 455925737 292516594 392665792 307519268 504300860 883087809 188653003 925747993 255741936 700527907 607487402 449421753 854488794 125381377 360884303 609713775 479106561 734977546 301816980 417820525 190292737 949213599 893791979 449664530 802453050 777893533 488482919 668757383 411123042 384332318 253035798 463104163 741182766 411221550 292305082 213956476 228146818 146555916 283174884 424571877 218487106 656926942 483435408 946491043 353254903 715883058 882836957 952175632 842602748 785380932 520700130 897222853 145616998 656771931 902063607 910847145 979087857 413752105 118567456 471897973 434249731 767148648 731071549 707755167 405284838 156243666 733033587 857017788 649292807 721622915 269859871 312703763 693522175 992520511 108523653 517913542 789757187 978471165 978072055 672062882 192169310 699855711 461617513 415592916 871431086 703699493 208637312 733887791 953851661 730520870 812475995 581333905 758071436 624009116 956176709 662867478 836923501 235758640 455324581 405674081 564333749 502509405 128526005 242268141 879959825 648729477 412297195 326281069 635469363 137489621 953709785 189848335 421053355 638439586 111498435 280592012 993623425 625434270 895040928 745842544 966216959 142259339 881725096 913843617 730770604 964786568 453629744 166601859 751003202 183280184 639118765 404649910 982268574 519636239 317657079 889254799 575858187 297495620 891984060 514850997 366393487 915728645 854595682 654624123 485166536 409727709 680131642 954273581 430925925 977933478 197470623 377956393 169268363 656020810 643958631 889069481 580462096 920951090 180985805 742500638 357205300 553540004 680990288 729639350 333672592 420024879 142576185 529885543 728378437 597843268 517868482 164181756 155100542 857359584 558406773 155941920 977270313 495454306 480170641 458084194 384023124 888644060 743705301 408321078 592864417 708295889 858530014 978882574 306071386 672097824 872546551 698270818 608224211 993651157 166028184 166080535 637859246 707615914 558695846 318236392 864135486 566488896 746504273 829992446 898601267 702973252 200579112 856008451 105044259 550090586 499504200 630721695 949717112 252015880 707971159 684249695 113464395 109772476 266642764 743048886 733961909 257124777 393366164 896801512 600107054 953260429 229178041 308939652 563205292 216358509 587363620 277729862 158660689 780146031 486507987 150673805 871505486 110935379 270517000 956536095 115249004 389748519 490977698 185840953 146091355 372407657 323795607 280481555 391677681 619485442 870425255 984075684 659311893 488317532 165070253 257602077 780577538 853433505 629401627 207359585 943536565 948949533 456718880 358975719 612872647 281014408 255209935 307556857 136516624 480097004 670170086 163512335 562178010 552243308 225359012 595524441 656522488 221894019 260205220 232348444 985528217 463111004 563255773 374292208 321669985 457144948 940818424 382175770 108665039 530456917 138559783 701673719 352071400 657987577 516335861 878558495 696650128 734516733 808392673 756861187 346061392 550669691 721610056 954022937 557333461 679063094 848485935 821200431 547855190 551450660 679569266 519968740 522506605 516832423 518176440 562647140 202517608 332043191 474560818 372834202 489394593 352871597 224911238 314174682 707292082 158822299 461080947 391626965 944231147 504940986 716723441 445395434 142646814 854000825 556153388 260802812 267724896 195911666 231953871 242103172 437676164 773996995 671911965 439020327 480637460 428012071 417492048 909576521 614819644 423500872 556043801 807295012 926803872 435427976 384535361 521806015 678287073 916566888 414356917 654265823 145457954 748810411 872230471 201795022 467523483 257640138 274642809 173561945 552824651 800536607 232541444 148961279 556680338 994509594 868564707 960497401 409378695 419537352 710161997 994527454 279630229 631067093 138602267 159874004 448218355 785866894 895460450 349209098 332131321 727825925 748407417 658954832 173750051 295253752 511232363 154977157 138910901 989602068 150565110 296793316 199996810 887463302 355718132 886829799 104676849 244594486 320292793 412374519 151399431 195045252 630884826 384951919 821878706 299196895 225318141 275257100 349857918 577886798 226577961 854234751 438779599 500396954 457944680 396114772 931229073 976882398 659972998 249339545 794786622 929076053 959310629 187530337 575824548 728412702 883671059 917756622 717261734 889814733 678750549 697100896 621593603 157540659 584277710 883365915 850805568 766914335 142555953 230779871 278472651 993241345 162677621 352012145 814616654 771053033 271114820 851959954 211194525 116772718 927704056 165593077 549778209 848164705 935924623 472444228 869703131 219543852 493446189 344586785 474528676 861508208 382018454 687160013 550612719 823206424 479086548 328163535 696458976 120903410 260247235 848981257 190944500 338099618 207602708 892296340 269613069 939124191 634770357 694104640 407193992 799300105 479062868 965430564 341083721 310004502 463279359 137552545 883095877 400653414 212516358 872525810 755298601 853600870 620134407 826739555 170015239 883037876 540982322 515440514 701398675 899527358 813098157 677735741 410310655 327029418 813492144 209903297 853153614 730023258 223856117 412054908 151438392 915235618 578729210 729735739 779128405 206574313 142268590 583300044 846439088 372149895 514037109 314293075 272994816 418469344 296570381 561793753 378307858 317379114 400750575 895501826 737787912 133476478 927807990 310117972 214835214 548581498 716132883 162898817 919045737 651613181 946086363 357071810 923145950 269809836 731982873 115318256 916370533 501007401 944301790 386349144 600987613 649931018 922015571 376920755 780648582 772993887 377939326 968778221 728849397 441733162 130250462 450216573 861490707 910252002 921069429 111830172 190524379 213594999 402185484 626848031 825227816 816744949 195522003 876427964 570656767 705300996 578584489 108248265 641772572 610766389 778744110 786059596 647540054 949407180 990365112 757944845 738173064 138235448 639547972 460751308 838055115 411959077 385659248 105726788 941983703 772928219 208557573 749230811 207056225 559940298 624755064 464026310 258067095 660466302 518089121 944784679 567825692 750186226 748503284 102246757 655365968 292971451 824930382 356793267 156579218 705077806 749062116 941543275 406100930 471854738 262775792 108698548 955547453 914273412 896612458 117212704 785054628 486637201 957186982 581882451 364437458 550048456 181884838 116843037 553024489 748564602 510899457 868601710 471814747 895232750 647212380 862911286 848826745 874870501 195298600 848174208 427412152 131768947 425839991 345502921 341951490 268630682 132955752 978279160 810720651 731665561 179878858 782327796 125861169 256259210 655318883 458383325 710442043 721020502 491416519 881358992 203028669 545174689 675325831 890349982 538398597 152741975 560263743 329368498 822679640 293424119 699601027 122191905 723923016 468924284 159494669 334734042 306788220 459551888 202627369 700374507 519644982 159134822 130878298 938407149 265624493 913065681 480188414 136456409 622524352 956921288 459767840 863103475 413266762 146135889 800498267 798779773 322396331 749640183 949851459 968407010 793938610 512955806 561119277 845789295 721746347 776766910 249397181 807495374 325431729 549143457 925095320 700424212 780954885 214673883 840488039 822022604 576654892 720864315 236291565 969441813 801995607 569533906 161476259 116088964 468471043 793518271 292318941 835411639 972397207 302269629 134572532 852446288 104448102 359354796 244443902 740309616 181150259 494962232 884723010 634798350 512521378 736690131 328950472 743084843 995473633 442062790 593494657 373502030 534040031 721455178 888309685 904353655 860620341 293162069 155271713 231579014 540791239 996536555 442586411 811039860 933570115 202545167 847208400 494364413 775818795 185021544 471340080 264844736 823302885 942188443 150948474 405544803 111771683 463977922 658939396 657259546 799331282 732366738 746241776 532261810 964108241 429185857 816972236 783443152 113967108 187416722 647696469 432911595 764114777 562377045 353803579 452557091 419503971 855039219 855573123 306439200 610358470 721998815 977520891 126900239 989636843 764806064 815265611 358620280 375814340 754746738 185786413 743526918 614611321 312734979 927836485 727231565 167531251 523325940 839538205 275206266 409890640 110363058 540199857 799944846 648074867 264406777 491202948 758893758 776235412 865516071 643978537 680919229 137144899 229917681 640579273 929689052 956421125 237154650 695848740 420621352 326887515 491148364 973806046 718198417 643310013 395439848 390255842 934679484 916634663 993398161 569965327 893799432 831598569 199973737 960184189 646404603 976431228 343153596 178084565 297166218 488215077 180394542 326672064 822975695 208273410 114625892 641821442 826611022 905393540 753238521 972504953 677107536 423857929 312488526 481009048 398238710 376895646 422484349 248711900 816309114 394047702 417934652 430052313 751702562 510209731 716253926 313957914 176527260 283094683 321389067 913438038 419080721 886526623 575210211 555291125 889010918 487569117 642007975 314302248 521628146 560841117 535985812 678826030 947558414 722084429 487755230 225611781 256214225 841420696 750319037 512353602 880914837 936887467 428459023 958832099 540452499 982077624 550612578 609994327 498838816 978802795 838857625 108645218 276386677 399044314 350685064 493142341 975518379 671271806 710870325 534128616 469487416 459406830 432764360 641832618 232565075 438161878 521017549 582966284 690841612 952824343 462252505 754101831 738402512 286621785 620816552 439261084 377824425 956780560 997080659 949868192 855256497 696122472 654539541 527233906 840035135 459001436 638665538 743612520 421237043 965857018 677275627 387522669 326495195 899613094 529324066 750165170 929874636 371801251 155729611 971895696 131160306 287657063 410528910 170444487 322663185 518182773 633428661 870759410 580401249 177199643 557375950 287192303 561655378 761492041 286063389 730919708 352861865 836596445 566748730 419764542 500317877 137437287 220394384 643097399 105373626 897296602 127836963 804519764 707194113 535272501 880855620 220979184 728414391 606186059 762487523 926834232 980894747 768873132 437766041 288112966 475176653 665377240 254383793 794116805 405149733 381311257 662368158 646801486 719652647 835118278 600696581 997185655 168669483 120982040 516063352 374728480 151647442 358017173 796140607 396353361 302311093 312514466 155376728 689766937 155541850 418813362 287585226 472117128 332530330 108190262 982477234 917435646 671298759 356228848 133768580 684587893 755189632 586818975 464218772 289065396 813706254 499290321 900099740 423118799 307900595 160379644 686059052 147825000 100778567 253072315 998482907 369587598 418782960 134321012 967497671 690120104 692920655 666641402 464020635 231225605 354630329 629502758 699686116 875622128 642579990 385664089 189421269 356886153 943465977 443866803 281174695 887398562 903331255 574642229 860442346 339840884 521266565 544821701 311468977 238271632 864268948 731342017 105983749 558127151 983041373 593636458 421170159 861682518 419649330 912228937 819636492 735154128 781144518 466792912 708132578 496086438 986897125 751041517 617398818 102513367 192760247 648949588 722258593 217555977 228938982 851432255 118788201 631023924 655901633 381815865 300992875 832694420 717440291 787238742 744478813 218569844 331119146 869588901 823594405 137788785 626080602 957386423 194729300 218235968 796091302 508043437 705474947 851100095 309050558 124525205 624372211 174620632 225189060 526159139 206252532 740665320 448568103 854664217 705838921 728014334 195312100 417646287 225270517 995075015 194399759 877235535 980920705 516949031 850307204 125309836 423316787 296498698 677560743 649855805 198875578 262113943 525409443 295302453 250850938 944956727 722803712 944462052 582292126 845841843 607731431 719384555 532831218 948165748 470786272 804310512 930386196 953539049 488919498 347616246 667330332 152644572 686710855 612153830 423550714 943967889 141067309 713039211 389145857 720746380 675012108 280526157 755888849 543793162 367743952 210905814 352219434 860370691 560108397 119498665 402334235 151109372 179401607 378374809 755005545 708046780 194733105 873930269 323582717 593858916 668614234 271011314 777873738 883454548 692992670 246948624 569518185 438971617 123388002 840923058 750627694 840035510 543908086 630824028 816454577 148966615 411533421 446996446 150401326 322925350 848330080 982352026 403936765 511738499 584055893 894753558 220463843 341185906 946951475 412110593 363306715 713381636 714353449 881937392 510176761 574729358 274574588 716488794 807429951 941236416 347544522 518729620 534322550 138260536 956073863 235426363 794601138 857297740 763795063 897128779 233962529 504455498 450495221 757073399 846483277 449948193 871953041 714447823 445163130 993576732 960589084 266958829 163422484 482247007 616081105 351825099 412604178 321328329 547734888 745822504 452149767 603050540 434580628 552664542 985252441 121391172 565956603 159120866 623672906 986767984 806370645 705208357 358555840 518517610 715352149 116371796 153772076 220732765 871719682 965915578 337948211 794437112 714884786 892894568 759739985 494071209 532669113 149737831 396085065 373207211 385475546 453006759 698500568 948413674 326603969 893365184 515620890 552358503 613398445 813775648 975801740 383166354 306958379 534310414 806748928 862930879 752919420 677871593 388338357 690704802 765921450 974952111 681930152 376486196 526436431 184758430 621407052 193881461 305411689 638394881 587468344 861421352 698492870 734236701 685157080 119068751 119480675 996213084 590582670 654893665 874278578 185975569 971759964 973399333 718275556 991935842 122436888 426039110 915568667 841332580 137141832 914158125 417285142 373889843 269242859 371282372 823566745 725691477 225601023 428434234 484868877 402643555 277593728 507980570 723056727 402253516 215774136 369954820 212404491 179044288 527362691 741003561 818341254 902839077 871338673 392587070 292643232 989490572 878457463 708771529 863058650 158541481 747528569 470823334 233478190 852459385 998622748 477172371 251109908 342998842 905729304 497035257 563666012 257548567 169265153 309589809 192641995 187020755 287201451 998239374 449454229 276226551 260822843 630257063 511367511 537522863 832801566 111760862 734230479 597809865 207173437 901057821 869230541 349575448 624563431 116318332 505674428 222421196 385728007 108885939 147531953 228864747 151356590 902207137 477347968 413196174 489267048 563051025 676960610 662165468 329639693 864760483 273846212 415774264 641100996 453299744 142358047 285929842 941668183 518839245 167518963 291566997 288191263 285237995 754091208 569240255 835969935 732346965 104732379 842814219 405385908 309299427 464089236 362090241 135448878 407919754 801600273 571238261 460298743 246626156 287342068 122669669 755811818 454779914 400136871 440851718 547226725 718812141 847459788 719132203 903118515 805238074 146907835 743856657 523888439 118335875 392087888 503552362 686577339 324444773 466302582 590445967 130905761 370314104 380631113 219945352 455388082 258437611 668174040 750914703 647592960 441232033 878535669 972252374 848314886 997900728 300572796 917533178 307169344 312718017 815017076 754974624 678463968 331775925 458129092 172604482 159329227 522649018 368152457 493537759 627943808 731843912 551704862 742501798 203113784 691538147 119376300 326971737 805959312 802047503 310532812 253400344 947849712 201289035 588216908 923946408 581726489 854055999 842091807 514043626 798356359 200820469 135487512 227596299 372968163 953966455 381732351 613018779 119808570 299044178 998042371 173178250 793268070 903885506 837718963 833039958 321572544 715913679 813043494 559147095 571518307 211906714 975193680 531265014 385455638 236380562 621313911 347845510 168869172 347698821 261405030 384458361 609185720 347414797 747203708 996640798 534711253 696886148 766958989 603158656 332347184 651673133 895652911 126959366 701154142 435873832 485571007 966245987 188801673 667442195 375988370 842665501 155962524 902737131 102952484 976082682 332063055 874413960 693443474 329141297 770473761 576299546 562839368 470075419 640270517 496968051 792048059 902406199 517175112 701800075 919287396 857211466 293781134 288825035 827384531 688658044 788621632 579614577 648953614 787299657 187601751 550380089 223487020 578205225 334188011 417924378 421673495 766558082 863650688 762961934 496209719 587153999 332204090 445361504 416304918 327306493 791940492 961709920 458559478 826207759 987070017 704859791 735525337 688568099 577984531 983320099 663630739 774830053 176510149 953656582 798444208 389770949 420968543 402089630 796752849 102201915 183263052 929633905 272881046 803807937 415780569 436353119 485208287 510860906 410144689 211321489 425667434 870513580 280656927 796378215 790689779 541321071 453969059 688035561 532065777 776964644 491515997 897799259 292434882 701073499 767188591 392988700 780677946 760120888 464979564 355802974 813241980 590913521 242747902 616947765 523854324 408711598 623559797 169718261 290691430 776447213 898962657 833664456 249224259 313418630 146196099 469509073 292926921 955492085 166068558 753507794 652061177 356256670 818448015 735778667 761638850 364740264 847566193 416265359 590438097 748344026 515320430 760899206 485434900 205392786 481546283 341920235 586531275 887837411 487411746 226299352 586167601 704068362 641094657 715545800 770354980 214317883 659201304 315673920 219646799 843229324 334063538 677353776 113460750 330408064 700073867 380934424 494917537 940242949 250370300 628585020 383332025 526741684 190193728 791788452 756071159 997929863 754394967 728540317 275723492 218350259 385496595 231277249 378963144 771570735 111094312 593413225 206030579 237272953 500071417 494426064 470198499 818582230 112159403 366086464 985162788 203527839 187047883 814408006 505211195 261040078 592036981 102710799 192449716 828788797 119861552 267462686 818832376 333341159 216287847 389940160 320609730 523277115 498771972 363272120 790788660 605003060 553912396 755219989 263092202 609668769 536244614 218477184 863507362 972116682 633592235 254909372 693587681 570623371 205573649 926172933 549541667 525357868 874322518 894192542 101881160 397492325 958417240 582412045 499320214 345811099 460835536 712362852 935017065 413775221 926168008 225039711 680874633 721330801 316539445 328844207 189022831 493542137 505016569 914922117 500586305 757588904 691989864 196452454 313955810 456599551 801380195 240127427 814903512 714983780 611302883 615276534 300981521 987405129 577634372 749060979 685455399 999339573 476153659 290534893 385099921 862019968 426647460 743135853 861040527 691882654 544023433 334804837 397580899 413248205 376829112 639142938 317106695 851429513 302504595 538070439 970625301 380645928 973336265 502952565 717648384 301060340 354247419 237584480 911768412 906372280 206279749 742679621 890603054 810834631 755681228 744207922 450282056 419135252 648752660 579323290 320731766 761004467 595188537 897189491 938599742 947368754 477247035 174017230 393105404 961925935 406436479 818742769 552430384 576584924 385705728 336369320 704923172 256643440 553542497 401324241 198995757 648566910 708038537 558092354 568047865 219522295 431183587 533749757 880143935 200424961 485485574 930585588 506887305 779658882 909659112 913746743 568189351 768345433 419224772 754236989 186250567 906459611 754021388 254857963 458762426 561565446 330378713 105416993 343163243 911298707 569570133 151296400 437086507 550608420 291734044 167032271 350158431 807284729 508008094 934800438 632856191 526188691 737504315 546769226 652806762 937276019 460708777 814208664 907267853 417388568 425908929 281440727 226001631 504487220 673475923 434835365 282711187 690160168 681389538 223415032 163721887 900135950 256341881 646454414 587632553 795128303 314865322 410527595 940353911 415742111 427180249 399229698 387875693 727909780 665725015 386783028 643646092 975571687 626590868 869819067 537752528 103399837 352390653 209373791 269383622 843886736 953713442 183952940 796304455 539260337 861831146 217586426 764183498 980798893 636744218 579709980 305109222 956374047 181860157 932572500 237896480 980962702 766533483 124410903 530499109 224272561 898709650 716458824 411635155 258381542 261240167 797399321 221932690 978230479 465868810 179977021 247475134 928572222 866515187 991919796 380944526 979272030 382449194 637849682 274473252 429373387 534974996 187797960 622162417 697639186 901016239 424464628 531060536 926107403 285329479 841620260 119990827 878602704 966240143 773713225 193786159 638184081 694220211 964292775 919240433 633325772 201151417 392623211 321908834 137152147 885301002 329655085 756839161 979967516 334168922 668562323 460547977 388820576 898707229 204077148 812961092 796287471 514152969 706147982 422274558 545363844 726213686 813650261 495093082 280643401 493985741 424899433 802673921 372476344 199523668 359058340 200518733 960988187 782283048 109183797 810879212 371270418 258453275 561313509 324229711 563030581 259163681 748204005 105254550 736168764 185405438 501345960 430534996 490406945 742760978 891506998 599258114 926060969 323780948 813547760 928158812 368317859 679616991 716772252 474106324 523624521 665672793 375081530 283066309 263464970 815276072 802785080 136303897 586346635 644011505 243687897 644074376 667995626 357853188 760540291 244118380 285203300 301166955 953882894 828241459 117452340 379670452 445648958 380643958 817854388 379366628 470975105 281060931 591752339 496435460 630184869 544461813 980998601 582372443 527011305 387921909 483189311 115497005 343470316 390541982 243425299 115093854 743616825 871112276 435814961 895550421 510912743 361748828 587407516 603660921 441203106 832304661 680581091 349849886 517247298 928202433 577726317 898705427 452949060 969041213 364032335 882684474 438566475 423173996 354687189 695063517 948743006 765946814 187430620 912840857 354643666 747877475 275217101 900450149 503638128 242611271 832912218 480366683 265828429 245857160 981149550 459199064 618961735 982786515 693154172 407556016 808643955 578191162 305045039 138804438 213333294 202247659 720220339 735462833 556658396 508850909 346856192 236942410 303996769 769902480 402043879 413620197 967432974 446784641 546434148 372883947 123441326 348761346 253023747 740864801 641316285 670465203 257743709 749227511 495169249 573829341 770684544 239771916 265930147 275988489 623794654 737115948 997538287 490293947 739817132 833784604 585373485 939627933 745014736 711055681 393639643 424302894 479442402 491367614 761963526 664558491 545399054 553274532 442897461 863585450 939251185 312827057 728521554 497972190 165270872 735085296 265893239 603212267 379544973 636192544 930819254 928399720 645552598 672306053 606008873 438053535 756555523 907634066 876456109 739932201 898478614 616837902 541449859 702874330 573057743 275889183 790698854 793344838 670790910 618780410 592866369 164933735 130094152 666132402 540974759 382943148 898700320 320681691 113129129 495594414 752976959 592734895 660574448 890618500 262134211 348859318 960142383 785896952 425806618 478124483 869177480 206513369 973231275 717933928 664962798 472141087 941743981 494044600 724819265 598569601 597641930 587179359 939167408 631367999 892017141 400863569 867727373 367940475 782753578 134353697 180037404 522878622 274301277 504686240 792324667 266581959 237663446 432334453 827792711 871736848 466193834 598634987 294907909 261343801 988851836 387288189 162859284 663403647 603281066 428953804 156184620 477869886 605547647 331207709 196855721 687292029 253415940 969877818 567117720 507470590 493048230 537663473 409901718 691122612 771970348 587690092 863341656 547506356 797764117 550170155 685358296 511599016 132758103 432952827 525878410 444682897 132288667 461825057 488466580 779094603 354326124 291422256 395663972 393910854 521024549 153938035 629302855 534338775 964348915 589285938 773032882 703772410 681224276 275857018 841945847 334115142 659762593 392649290 731541453 167252618 523531964 782372645 952525894 809339497 655118573 957251653 392096560 668004707 894814848 180926042 851895397 355140291 302960240 117507872 322393570 710530940 227545655 861753703 336106915 939516880 788240915 845099140 281641036 833419027 680540930 330054623 651018028 977401825 111731403 921984037 398515955 271507132 806223178 734502944 689659571 610051210 174206292 263846197 998387326 873635171 488878227 592262965 948595915 506375829 113453905 343776449 328226606 237902327 439995772 624179538 879614919 101898871 423631075 328943663 537173128 961073989 951582702 754512782 991079980 325725505 953075983 867841794 316837633 259950515 644734646 986379225 265872075 928431993 628096972 437181289 283095118 368751455 916455692 597685552 644395822 150601304 515928454 481705906 296084400 632998323 932182876 556096071 697369761 319811136 153991040 776483312 202354528 561409666 852178345 996340197 903968750 420018520 213856410 786092793 551074572 475596672 853795541 842655067 211468863 768442174 639520652 432350939 827436887 716418002 820405960 869846256 108362805 545455920 299968695 992869655 142028467 430858255 202430501 335030346 932462708 410226874 460233065 305412254 108508844 203770349 717232833 635791554 425556440 367482427 881082721 589173502 619597920 493879968 352108383 423784325 660407027 188902420 790803315 731405405 169214571 476519933 139627074 589224990 863339860 593823247 734000365 725734194 822704888 428754166 668038880 685648350 675350895 181814515 377462312 677561199 766700149 653610382 689487704 396267510 181791602 640842787 438058070 238356234 658673408 269731757 608524105 533598870 910903378 197162042 107546407 509427172 174184715 394144072 173229138 632835891 189714597 146678966 449563575 561471950 678242095 567056568 805364374 653231346 606375585 428718236 153981886 276425634 455443430 960987406 545096304 633931975 528984862 383614750 615741583 336520550 936028773 994093628 627528089 733650804 139221653 456161068 489000306 688460347 398618106 215276749 618215993 480606906 710457285 857243823 992887372 988266028 561727443 780450363 573750630 810299991 750676931 179169061 233280743 818119193 776414962 716257222 288706281 898765426 259466842 401248638 424681125 361133439 834250388 494873821 399622217 781320185 931941081 506814904 464579447 564527518 310647074 829064721 344549097 548277875 313541080 246701041 958764035 274664277 927049976 486587821 340859299 297893564 134230975 111397072 784322358 113731704 915419830 356042849 914712685 194811656 553940050 353575608 131988586 255540815 371007410 888078369 157340891 186304599 312186678 239021722 374634936 757252672 497814742 950939033 600255269 322873292 143115856 260627473 224647823 364840606 754170006 426790199 301119580 654702600 376847382 868870279 913002659 972217992 949631939 566601448 751564475 125307244 327847367 733133293 147529387 665356389 143666643 371357120 908256760 356890942 555597139 685330765 169985863 595790667 538023174 838986166 663982047 739791707 749469660 880454286 688082094 704276981 308666990 706274987 573617206 768762940 157069296 488273090 167247723 668514867 331070057 705240903 775722397 938933242 948422915 250300562 838504399 165054188 444035080 540255320 767313095 389817218 221238444 526075632 128369771 699848953 749721976 404890471 382302536 724414263 420913092 291166082 662016265 419477721 145254260 329852241 989145180 888036919 367187596 593788632 774837808 289446117 260887062 754939049 316430051 154087569 334940437 174016526 439600441 360231530 558506114 396508362 563463422 652876353 969849931 598589598 617542445 244283654 155069226 579152499 737019495 656096816 671347422 518274539 181964627 583985235 206108664 939397331 579884073 150774019 175064267 921147579 708171318 295703720 835616164 569721242 907278415 992693609 118026690 966516144 190180212 820436814 506763067 136752131 902649040 852368966 812233721 893376552 865186819 231258432 330945795 216272493 183196410 449313917 565913692 651048863 939351422 532597037 853855320 415421366 654907448 383648968 197698100 757753222 674039942 586681111 540864757 366886232 830512345 963385201 496095349 114333208 385420684 736487511 277980090 704632250 829449040 649456239 589894144 234233128 862346498 650534092 724821048 651006368 341697191 278392832 421757601 304580924 838647321 553370750 233842566 623506296 790588385 410090188 361945000 385658589 440785976 390372456 769642587 996444209 442229002 926337217 267119163 450692354 177448354 179941398 525711210 107809303 533495477 847294637 161410638 259770414 812378103 224086212 573193229 332265555 578681474 184746283 894143178 856257102 969873120 210703985 947837284 980197486 352601842 538701876 929236494 782909741 159099435 947233688 156766153 692255275 369389125 840772704 254141380 269413059 777353108 235699907 122365327 863079155 955314704 221007002 253230330 886813933 615456515 460635820 786433190 875820177 688805124 600403912 344266888 370593605 739370114 671465241 197648904 968793670 286780081 720816484 642304977 477037189 518645400 992294553 867295411 498029852 764485467 150373181 677658973 705837425 403896037 999085993 914138377 231607650 869058892 132735335 478991699 570591957 844968955 776206535 198246745 876964984 158891189 432736505 922294830 894997757 491904645 227347545 157344834 895623005 928295085 511752393 690612792 798727146 874243234 665385751 545731517 398685721 332822387 429960061 817565582 491821573 711135746 729681382 964597175 220236452 927129137 935622619 824443049 277097850 858009498 490917764 664890297 850779430 971610637 754337882 854903404 788909790 248848870 934096631 299775492 530547670 583928466 807509335 967591776 133312084 719969738 745578923 280393054 635556772 908418187 591861505 750754673 581231572 753436850 227170550 809306808 378357433 465415500 967909037 579109789 389775313 573774002 105727378 208397924 825389013 582350063 649666157 649649904 721842326 522874913 751761847 444729249 195060197 101817946 816440880 898842528 660169584 556802600 316845633 701039515 128787693 972045008 146588902 580765884 108487641 198724385 285904200 471828631 330240485 415723012 153083654 298803876 462099286 715353947 477891501 683223071 963673900 953160756 570899222 690300419 156402063 211567489 937382774 275840941 315984831 449420786 953687332 923711782 574742879 938428657 378436895 269658239 420083952 877907149 747087720 451427198 493380863 218727916 321896045 473402674 536606899 194711028 262581824 436465368 363796636 654104954 288844329 807498857 871977798 622216006 680646361 264784565 542875943 526866787 351114239 963134377 484103843 964609327 905537328 360820972 937179389 369909316 888886786 271054352 274149924 747620489 733212781 748960065 439252311 480481092 503048473 391208157 684317817 934171873 670947257 620595717 274137623 181609443 504110909 410275164 943948262 768782143 615214134 263277911 664269356 449145653 677252448 651214497 951673373 925569853 434275543 605091132 240570868 820116593 891085828 311424923 636985890 332568651 311656967 254403341 486280114 980757060 807071820 419198716 253052376 292478714 690234537 551596600 590549940 263761179 401274681 353439770 967721041 340036500 796296010 860413441 253301334 640728620 583818443 611701356 174327596 485974286 645675640 949833815 989760756 250290008 410918175 370965417 412090561 668723827 823589196 613521310 425859786 132984211 905966756 380619646 825054943 188694364 427925713 651486854 547899443 633307644 448119734 663131068 436333295 918792964 993412523 685822747 206897109 294586985 295535332 977919226 533830169 281310569 770585793 990809553 192846504 605516070 345204671 581487308 984255351 676609585 328135928 238451641 446580379 926019416 897676952 512903596 840644771 630319835 599201127 464170953 321245767 955103076 704232251 131079475 107712200 797138841 996918631 226927221 474090117 749759200 530903236 766685426 495902248 431480417 490535943 735875678 486905330 578541559 430393688 592221289 174909832 981995800 379358331 898193141 645850305 946741609 476953241 757679306 378493211 222965822 261593815 795816759 464150818 217547769 160360989 488282670 889475731 210887672 300547273 892445695 619361742 544729253 976379072 823136906 148798293 977398015 523252975 450132171 967103187 726111784 710400785 596282072 181740369 924823809 739104311 584952689 206518629 736546845 980901852 834776152 509132530 423713705 104053021 946145968 435871697 191605850 555942578 892351950 991134039 976784588 169034618 892399762 884554053 523507874 910631566 457168310 184019437 329707874 452098113 197389759 390288828 412204140 637496652 281722878 803390428 982556372 869532697 492988179 701189987 633246994 930478041 873042935 122627832 193803215 509838629 704997394 635362727 343954807 766932357 798532434 979896543 107931338 239968731 497314941 387089108 519656069 824464308 190636245 136890145 813071266 144909702 350391571 767671266 892169259 259075044 984743170 443124010 615157512 705254709 481502141 718347249 929565638 925635179 328821086 107598819 950790877 438650603 535568516 493965637 736336982 721328816 212923530 133599542 961882806 581798299 824361789 704013381 485251666 164475364 816305864 586576690 854142169 606747424 199330467 849862386 659894209 508125906 774492198 547421542 208645362 763333954 620533911 378732699 371222295 472446494 552064470 730044537 220511439 756949482 593487275 289308194 317752550 604857082 442919412 765868159 166863680 353418772 155569145 992249255 601977759 344017989 275977608 842783913 862607187 880084128 554382969 241586597 102473630 648915910 190352887 351107530 496388375 179750040 921656152 939061674 406465962 134062847 197878522 937977560 145045009 717331313 392954650 739895745 756761784 519931009 954359127 507760303 440871274 549737996 574741228 834334000 364445474 303959201 328396160 646222597 994302734 741741367 583597104 191029929 713623874 858499235 970936701 149695508 251882180 511611349 806375538 679211065 555963940 495441114 818153001 694505469 609066050 963335193 296346436 363201159 103831171 652554883 527349180 325994552 916689645 752022656 803424036 335409089 110587523 897651235 948333737 431245746 979272837 438382253 921284777 175456494 772791439 394529783 517356781 725111097 960444943 169788494 310463177 793589346 880465357 419783565 597161599 511935061 193176944 972763520 151362122 993141725 236832451 975476832 896790994 356822560 523762595 897424892 868467578 101810454 229041445 199739009 570438558 487157356 901885803 949697924 530346921 944814308 916726058 904690027 976479553 206070172 748425740 281591660 493819527 100833595 319668017 836052110 839364543 268553137 241344392 468625306 713101116 818764486 880749382 667418465 105448972 204951824 510552775 332460097 220239134 574211971 238767180 626809437 472017469 960384132 890863921 968468544 412567233 732964194 982112986 255344616 971247096 216210954 616916444 602824338 385515369 155659760 910757398 906675644 215799858 213637525 242151034 276074660 801791351 757531828 455078129 275517726 104565694 728570912 334102406 404288384 441550220 594570913 956894879 584980659 100261750 456117985 687854812 705258630 603511258 780329044 409343194 934357127 743595014 953123108 705085993 514586553 647536630 131494774 944649812 571671284 435585286 965309594 886139000 949654784 110969936 808001879 388528761 278749842 402301534 653719750 580114203 325360868 781416856 124101251 421358659 671900416 855002305 114498483 161422115 425040405 706082304 980002280 452194881 888284560 906906499 872911349 811826000 752804411 689180209 144670431 851957472 181050691 343561849 811238800 807104634 444132019 951117224 397878487 319928703 272878689 572835876 420632575 924217198 395723108 372948893 822662208 301006936 173182475 255470906 550615659 591917525 430932563 383841141 440354009 604489022 767456611 441634963 833169866 873080092 504207604 253307314 467700647 972051588 816532275 487866127 544101848 413175433 142942405 103303377 585161977 477623209 442740610 713392258 103490330 450046809 292896996 495305684 927196117 962427493 696978939 355629326 970649354 202947280 793135886 488802976 910559764 577573779 756558072 607047547 828321902 237369408 276569518 593509483 377912644 391355366 990897261 197792387 621199841 155546511 499555708 524040668 839149901 749356834 458463749 802142148 492818302 969899604 375910092 866493917 267171668 789297500 621192647 977979811 154888214 243489690 513644242 240762087 176157423 382411901 516254776 810481652 194987527 494274756 497439249 316968897 661385029 469767754 643013820 669217505 652622209 989027555 143413457 972940787 619079269 380324851 778397016 563716112 942779747 850124261 600413118 701770483 829026711 621390021 660623420 665702555 371114519 241870145 204404229 637612988 501674929 972562413 104813654 410602413 876793246 410803505 591692620 191848088 480983580 943278587 897280876 286654403 176787716 867943679 793851238 669895066 986947577 487999698 247607614 910906397 260884422 569006144 488206567 539014244 890639257 150240385 320316241 686242501 558448902 782397034 621004189 107233332 825361485 827847400 134898862 187008640 767346411 820336306 324455505 668816859 345796596 677933560 421422415 267589582 442373118 266348655 781861092 362267232 941542263 144258538 193875936 895007913 264621407 604928458 498920547 547151214 346234852 730234633 274396934 812916832 185303321 746239482 455205742 886783095 569241330 252765553 289710243 997747020 248678729 580327375 782961322 709021714 421810035 144908146 698751225 162404872 921837650 139046210 711685869 122407359 567737880 905379900 133127160 456483170 905293523 240000091 206951787 735181017 105556566 810330576 552747946 601337368 263394600 861275711 625993455 881898379 721878169 396114153 218938046 423405105 311712159 536813910 118271795 872240558 355599597 791948384 931230162 709229268 923996825 399917564 698128646 983024349 766595912 987137671 579798034 176029495 610278251 864140619 782006339 544024040 901396039 384304845 195406711 285013129 845332333 135183548 372832605 255706615 808516675 781699205 939077038 983438641 979631719 389526760 860085225 403011062 240814545 587422810 462988183 688117418 466459529 493457037 905638559 580066317 482629748 485934881 801492497 979123860 929747524 564713091 493200973 848137503 148751705 388348057 698154045 235848876 259489485 777093387 703003861 407048140 356747936 530612448 868440332 949342060 118635369 447437491 587550430 838943629 565930273 652981476 830676847 737119683 764518178 850591070 627084453 918738225 430773155 655799062 685157149 585188738 856420114 177527430 409764153 606652044 609021697 975372337 202967192 710523650 654885532 234464214 890243154 799725625 909290323 188011850 353462764 332259456 113634763 659743170 432807039 375139532 356671640 461487789 224493499 361515650 602482739 998197309 367830318 104315998 179830771 564018749 364195650 983043756 815719067 931106782 390388704 592529020 346407544 896682635 382766824 925361207 131850077 877928224 114665968 668743208 923403989 805585839 812677082 896504491 910403934 766829600 686302172 293837278 297776275 973983994 846324999 509550464 631433754 298246110 478765666 232224628 496922384 493751276 907152705 554880568 695616951 810134010 624266520 802609701 547538938 232092939 479542146 381752001 204659137 154467531 935517438 592472625 749922672 554715568 138956833 298423655 554848522 329255263 413150651 133037729 658041599 231764578 661154375 891007523 243687708 738768182 188806694 347945484 415009576 987593018 183987059 886970899 143727347 978761490 788997786 522827247 452741313 853046146 672797215 283662974 454330450 504455882 200828321 138849232 376482688 824763512 719432083 710707835 868105244 882644196 771970427 515047393 579891011 940636994 989607791 836644121 527533867 200437818 591052898 464536146 307985149 173870822 747345105 515773107 720035460 835095261 496730459 435878227 744539146 891035718 972309606 828556800 339308653 122523105 598454875 245325359 634472783 480149698 951727361 943026104 966406511 442609454 449095431 167808321 234589742 285880402 681869724 651266881 918015999 449918229 333025710 460243850 389598579 259436271 109725008 842470379 242836789 600101568 626457059 358616026 534454886 400376156 752173493 154371703 283561614 680455256 992100928 954552030 909312355 757814578 733232234 648162662 360240370 143722138 821602313 127452128 658030638 397101802 242803858 648730084 692002941 558772715 640808590 126570983 690823629 827240770 910001593 872143224 582178299 249582505 447645621 852377387 840997939 459198590 187650141 469599307 956620461 646971672 523133735 603294657 741542879 602163578 497918984 429830707 615679360 338299081 467085980 490651875 996987652 380670584 979879001 416279068 251544263 378159057 654652102 818593295 263888573 502763696 195650611 833689774 275528790 224316460 848329511 827801879 427239582 237603365 810544379 185892552 227550017 585389515 397382031 750704378 330172061 242848019 201683532 274421807 360097682 808584315 508134893 787706055 513502822 762066134 429115696 311565094 165437767 971358920 608922694 118949237 709998335 492774379 572972941 925233550 194853958 697434262 346295273 452880254 712927841 836639107 479427311 855930776 150847273 866888218 956306743 335834942 859377695 649014788 889808264 346376664 813331237 287668439 672029431 564360505 452473163 882634540 640519299 318026387 650628923 764411762 828926006 342038083 576752606 402436741 738166047 292956365 923604488 212001367 767948425 738369314 471351840 956904198 883061694 824955907 107968715 689031094 489034640 152510462 445566802 928420642 596674847 364125807 902634487 998734997 843381240 815733791 111911742 131144541 490131020 541176765 490571050 688360261 848085455 140648615 283212956 331431915 369012398 653620742 464025351 497994862 398659908 884998858 287199951 103776782 489668089 934611138 132010565 792161135 561643360 744349466 438566552 528600276 132155330 178084029 425660762 550843728 301422570 211953592 147387547 539341684 187592679 822899293 647170413 834889499 758645444 507779557 594390984 572134614 993180751 795113036 353679335 118847994 204271239 336689461 310784795 676496485 792989589 155072522 587219590 331802518 285003755 361403164 931453584 778619987 974014068 710813745 686752522 239018343 956245457 281682941 110466300 581307159 435770328 193920425 666049118 729971192 173794927 677132491 897136026 588259939 152373330 744332292 563516653 457405200 822151519 948339146 963573448 449433421 863935653 389990715 647553237 775274969 281294721 806431814 640411535 247606383 121724872 583966101 782707515 626456177 655545398 303253882 595412843 849706851 312806058 357081688 937292776 320148025 641939098 594663979 228081738 585498520 121403100 244848022 998851449 118652161 490013485 914603842 335051793 204984395 136881070 874596164 150578007 682636155 106102274 972515214 832413010 366297156 749714342 935935811 225971763 160118349 446849799 302565604 608277088 154701283 175556097 872010924 311926507 788817238 144500802 984198916 270490381 605710344 493297502 773214787 687715387 364518012 514938331 989213713 166921341 724458442 721829232 597640331 429909492 364935745 800562493 500120715 777535872 482537930 600337615 856490011 871116290 913403991 890020608 348425080 506562857 463763150 960947736 666312030 978963289 146345105 265202627 266654715 450800580 965362789 180899907 711669317 961353935 862348675 192852566 144021922 349614181 528383413 582170194 413872784 435084337 443026113 899941851 200441321 402257658 376597767 881313010 286669935 633302166 361828128 845095182 467544181 776899344 609926446 173216224 324443189 509798019 254137745 139442588 448916849 623405340 690435016 837651223 603504216 625104133 279375332 934536659 647610400 567331191 219719458 820854682 608621772 899955473 640319127 764069941 669824345 322744099 228687659 131156554 103020626 776020095 365608182 370793867 551148288 311141467 694751012 645304802 487738129 960491466 952362256 859630900 902773923 352927410 100976107 313448062 617655884 826070943 548663575 386681280 550327877 315037228 678422340 739977546 311374373 526509400 553286287 544034120 709179863 424132798 922254398 754223262 316290056 819140640 877915787 508153884 603999808 929308290 354730614 506320169 945939369 885419705 574301494 402810809 732038372 674559990 728156819 218063708 228936988 690355454 856969775 865206849 467102634 904440229 385252311 935437792 353844473 317683051 173962870 993584456 525688929 251182403 942897863 105169440 886303974 194456704 216195311 421676258 960345972 998422207 320443007 170096901 363208750 200875774 690752739 589121600 658891927 737560320 412822771 312684140 408514169 422828834 963771833 911620800 911327729 953822004 909403368 300336514 847875056 291726732 434558302 420802315 241697727 636403473 627785005 234785613 138894509 944394582 309574285 100336024 643456660 338348391 724422234 560767237 600305838 895687266 399568321 792419943 102973082 822951033 492277892 275607183 323921942 435120853 263612613 746118558 928549207 100951405 305946021 451412569 424855242 114294750 897386357 547931035 110420835 560439334 814589451 477213344 272610963 991551490 586482605 322789633 587331143 323956470 488648219 450549515 642876629 565625299 205732140 918048005 932521039 187839472 817865383 800013807 636197128 123262143 923682134 481301455 173268029 154232844 199526906 176254987 542338939 570545836 106786428 590109411 347244409 792640050 949019788 372892809 186539543 393215307 489112187 552626217 345836758 704156731 426937464 924099727 410113224 417088041 655845277 568886655 847670152 995462656 842100552 502306623 696716781 668131491 727133230 882588605 611229478 806345689 960954493 131443755 942866480 885965791 535338753 510995389 228053129 308427095 996152533 682145724 478428648 767087634 268723908 214743474 626858752 462974404 526673695 667075939 889976606 130226041 873634361 717741467 601747022 658780355 969202555 401651713 484289516 810066249 171604631 151389168 364504294 760955475 469942123 233532081 336145960 399670474 574467948 750723571 567828613 537555053 660403516 678652893 517498203 106268089 750982735 354167421 663455482 492842599 158509464 921527494 852162785 161800020 869623039 462127949 257500043 251869123 636468287 362819851 848113541 129106727 998541572 266109623 820335324 642523150 349431211 100624817 958601110 252654510 778380049 544299095 441762219 536209345 585969705 206851617 952280958 907731890 740127515 203565416 524324613 108004525 303840063 673733191 379395935 509131929 782077320 726127565 146280480 218258990 793420983 338875354 399501540 255284460 960696885 462571519 589038593 381928894 870596801 890655959 123831857 830072298 495753443 288336915 719761641 358852083 692724441 990161974 454338643 969838334 345901174 614901517 320636171 778647828 337440226 352229852 475810722 980765637 954901401 384150984 529376779 149054741 116511711 327258698 899828317 141079374 515396929 244849921 107745181 592532299 156525615 911146797 952315346 677027950 705511841 313712408 987913114 481095778 255702704 227443329 403217910 331223199 590896487 203687317 233974550 957126736 500581820 425688483 994315800 639461433 644457114 915498876 488217627 165183858 599957408 801961056 505337281 779495274 581627865 567969360 324713029 930982044 501216678 594713228 824144687 988528357 288427490 143338302 552342861 844484288 970466370 658303926 746090345 597876744 526971959 103899491 820793885 659391630 385671397 409106892 992648195 273305601 329235396 647152929 375191954 754529897 231660602 199076937 589213984 717227579 120481644 487524045 321298281 364413216 425964132 337540259 293659287 194627987 974960409 522275421 560329900 926562262 503119449 540906461 440445882 496308498 375925199 247531653 162491739 136854975 354312865 302773254 259633741 538256036 682594470 585828126 249595256 703781278 670052389 109443286 388670798 773841875 361597148 693526626 411714625 619190725 600636055 377921175 224330961 377169511 117587829 702574516 587866809 476416399 296383911 414523156 184639635 595941956 583936909 512101505 129530752 603663646 809125105 191846627 387065827 435110245 802966413 416572450 535859999 345602649 232078426 920000812 499578715 348429035 884431894 890673554 367759150 889992304 584232918 852207856 252241438 329693000 954944126 622987867 414652422 135897708 542500279 541386143 982340165 513531675 953281905 721536088 798561558 250029081 412253533 291555780 393687632 836127116 967190738 750743010 873397504 608713155 936292844 525837684 313037720 123613597 140396703 613542903 987549711 147841359 942236756 888896960 453919248 913335151 626412768 479915542 538018702 359238907 283445011 157176260 828086699 751382329 413450622 353766666 626260446 127935900 747050244 482834397 705933732 796120814 802229814 390479856 369446239 382533607 851308801 149042349 400292571 509815524 353532013 627062630 359409385 178659999 316262813 377300682 577243295 345454836 958298450 427220402 400628211 643239039 804410827 629872929 134130763 250612991 486232365 892766790 126916849 818828277 268782674 594650229 871497525 704694982 482272301 565790958 924476405 677679573 958297003 394938539 817205559 727548350 613172514 712615205 285237401 658351111 972053863 603895466 374777013 846946819 123463512 670059714 771073371 649535896 406482860 141364418 467944505 523994079 247497631 864065230 651653111 300290775 528330265 417231265 405570105 406953173 542334261 397922959 944327656 206532394 271895025 914752558 106548605 551708383 918814784 531652894 292863955 834367573 988436958 215610641 140907205 554550938 437914882 308891464 124655544 422070191 436173675 780324120 112013088 746341958 135674378 150352534 332739232 352893344 956220732 410384156 578418416 768176138 154406028 992631672 598187621 986371632 536831732 142820528 123432589 964402826 902251942 201809036 805541232 643056854 274395261 351493833 325773599 719318638 397555155 667431870 844940854 903876384 279055973 343225420 965288333 681596944 933733238 616102817 351544671 497778959 525108496 339129414 598055652 226729366 172452131 867874978 584609528 284268231 128256865 443808153 886446628 973249713 959998178 583299179 140303172 469896835 938997037 373802500 128593209 266217387 534535289 734284005 681277080 393705451 399712432 362895825 937483838 297655219 558259189 909661573 963825316 351978966 842673813 214216936 236601175 637783819 438826476 797482472 917408782 579129573 185218444 653748111 839142084 470441297 495626305 974436962 963184092 781965963 780926247 483844978 898492612 256919351 484551341 313026997 692190539 988428155 871423098 524979359 826091314 623615651 282900997 156468659 763091469 394672461 502134429 242509932 781928941 187818524 318381126 191553135 615264736 329101153 637358465 781516545 995690254 968043469 395208474 598860974 883271963 456780268 199122106 655350215 293983759 176947036 885836519 691762721 839755960 953553376 803771610 148119824 141320846 951469806 144918695 657216476 787243887 769420021 537538065 726413050 408595562 265128877 839761047 372322079 750486960 502966494 991095056 848767392 242323270 316448078 185478083 744765627 957151067 657026030 901714281 318111703 846665934 388745950 943802885 773800384 110484842 125397145 689708916 439105485 131166123 338338375 888736425 563696620 619171573 237226317 168038800 483234327 243483790 483668418 366365859 819257197 423069988 313046093 558219545 514194736 974505762 355873544 969834549 680046072 397327164 244226615 887192424 275156034 960658455 847125139 724174981 804563870 849230776 197425340 871941269 463812631 874945892 610816216 169036602 368794006 444163796 300860912 537742039 505454718 267276236 211195116 498485985 894149929 676508812 866001936 744833136 777888771 212648153 488320238 759340824 633891081 677396376 837273952 904494184 880905223 979711325 244642104 570336303 343740557 718859562 289095109 821392748 881770528 624669865 985061414 331542572 719141884 438441620 311423930 737472371 897942681 973164783 157157958 885728632 732753482 311012244 546889263 325687236 117564930 569546641 218656278 434241108 605970050 552536629 401658050 398120057 394023112 220386998 383927678 712386768 985676050 578722677 885755501 151265317 587634974 592344917 913026012 626904420 450482384 606887976 443442834 531798600 483966979 380767405 638449878 402410993 818299320 840405799 625016095 121053869 335559208 920353225 437364561 629314594 331026380 624719635 205997634 902347296 721451809 286466264 799486778 466259724 584128271 304791967 154307788 975343085 413655633 912297546 562588184 105853522 989053567 654103380 747558200 475419504 242760671 736623779 624555492 189833096 627392109 629405530 824376781 969962941 742729349 798310571 392273704 479469319 621436718 728322779 708614636 318918683 318553317 619982644 100930092 592757100 352181967 939039916 804062666 960412664 916793369 676528963 423870691 142050708 763365815 820135158 697702434 115751548 826801880 916145328 121256172 982446978 640002357 389580030 328785283 419039420 734543348 532946403 217425179 279483478 533284237 412816908 478010134 607326810 134348529 409769847 550206699 419174930 745915405 847180986 536903296 183464375 885117222 371846586 816914278 851578629 116380532 118681886 458534272 844992497 535432476 396946434 139361932 395495963 377152676 582597864 430975341 874085248 524204672 700065095 845514812 140113587 604710888 408175326 124006999 554815112 445685263 996376071 135857725 558426241 741806346 877391075 960093605 915035088 352839805 735000557 961143153 541402354 144827764 865035392 721349525 190642859 320870870 209264838 844667434 534084873 996638019 463861624 278821145 687713963 709401573 413023666 212322613 723775315 908793921 952928020 686827025 770492299 609510811 693431379 831221197 100398258 819672526 433496382 592626863 983819812 733779183 360722048 554743495 156402971 663335999 655749415 270789339 291253151 977377712 232178209 899242139 386677736 215963211 507787563 742290142 896560715 409738774 781685725 687006919 554908383 340323858 282079167 694599668 176666784 213717498 748370699 784232714 685332030 657453940 126381959 953973497 305757815 399263943 892537640 355396908 989056409 121618105 901963723 333094552 391628642 114273288 743198813 143483932 689976680 904510386 334063333 388280572 660169189 221043697 712560321 535823655 479717865 995845413 754335646 514832536 548704383 134797340 532402387 739952453 378978436 213427085 531256730 380943976 111414402 694119272 300162477 320500320 779970100 941536233 648330870 347497267 449122270 428048872 613387015 556813875 122769044 950390484 391041924 636782627 196999071 869897119 901881785 652769884 539309282 814315356 360981100 484002071 780373474 204234615 859722368 204753402 386965711 888413319 106864937 169141402 735531596 786653964 808719587 858429421 585676117 574521980 929126168 569907054 739353704 166521263 344879684 767271043 468904915 278500462 592037395 378732170 294596616 436119122 717197139 305926746 591446423 533082962 170580253 948986051 941178508 444028838 115887639 982466592 834261941 850632443 536549971 350665791 173879931 607531844 406356716 483507289 593162897 152636361 354223675 109799805 827201233 345889111 409818176 194731483 966952927 974735447 684823241 344138667 704137879 165835536 353914924 622736574 611604496 363050600 270327425 403211505 945912155 361005396 987921558 378104765 796641551 850239010 453224753 117714013 595317659 497004266 973815052 947486396 104667864 352602075 754414520 278848913 988444683 934614028 615417960 972946152 916992272 899838950 330567472 584360554 430119055 906783815 794860416 625077856 800356063 796982120 656593605 969551447 481443155 730432043 507336573 163378138 104862457 516634679 918795882 804967391 932668942 993105048 485910287 153806665 368886665 757278278 370414744 883245973 355943159 678640967 118836123 396590012 439508197 505029511 385674603 557609476 136068192 529067208 924185097 143635529 180217202 798658501 531984165 340779261 175065911 846891885 897338490 232468664 480062204 480791738 206916121 860486867 987095324 414838156 319346481 101897415 654220479 480157430 211801860 381294320 114113572 637607277 114749525 956496750 173321154 984255853 276890572 637214930 877673178 848915331 837697856 727363523 392519135 227010593 288575030 379088093 516981866 183839400 560040517 858583444 281749581 564778247 389397472 817209454 146891988 925935343 104219447 765380735 599667193 906736662 408792874 803548302 536245523 240708225 821129108 515424220 583329485 929358950 748265169 666106527 623242175 226131520 134265941 758680764 954718952 428029296 322446207 388320879 775245519 251506989 202710970 930701223 212932460 325038112 411176447 569701845 202650876 150717250 593048838 302247524 470216076 210850557 138606909 376380404 192498554 981020361 445484657 173834812 429345383 248201295 611021357 375969774 375940470 884722051 450206634 738873244 256545005 226324352 759080980 899217328 838349205 419231176 423085958 903990020 421989308 797724918 140295614 533213758 163025085 183494826 336718837 757121353 268679837 452228045 705959587 755639266 493829147 686437734 657120385 907355457 128094309 483774288 807993509 204498525 251234719 979797845 183638970 170339264 424995370 884460591 127665194 664851276 174360430 834200554 747583865 450826037 843474866 301271443 431278931 864246019 566339182 647069786 115526780 545822063 393744322 550562664 216299415 181615611 563556449 468728311 510740332 502711135 149592182 130049300 299174579 604834747 898780398 805760584 544322945 146674801 834478299 675211617 900382037 396232192 606457414 401142641 932165054 177184877 426357777 913920592 400249398 656035436 593698575 811475209 852730485 301444108 807232434 291654967 126455317 817006741 632065242 966552137 122534101 605976536 176390277 451811299 833465243 754334944 444188193 993849560 345536788 853847036 620657864 867162663 467160200 451606750 112776985 332093797 138906658 576315478 688344997 854163225 762791452 188216064 379397266 523005984 621913221 908521011 796837130 562701018 150070125 635155203 264934038 930472943 741454323 436477377 481024139 326499184 452073713 667463242 816293559 641184863 853090440 969242066 858774147 432265295 657869685 488682990 968999361 566796643 619009647 738519235 477070185 202083571 700106266 109107310 651945287 977216134 610553366 991366216 232117371 170778408 759777755 759969507 896042978 400578526 802893360 415637455 667782669 524503975 594390768 487558326 988196884 574287825 649661606 977587157 234849526 754325619 481392121 932653363 741162480 108098084 608024544 459933817 286910968 504234371 978644665 858587640 882083096 212271406 822007257 962232612 983416644 147212262 671303301 474365686 998341275 266678218 785965714 328175196 937337106 785511876 468438807 322135552 247172391 935484852 656744324 471899825 745763719 782302259 736648075 128768288 985706918 567160877 601824944 756142445 182094359 844206304 596159029 334181486 522606450 180843532 970378169 467668209 310056004 635792947 153427444 679116293 799856145 778774541 652436009 303655478 708029879 374741977 116789978 176916407 713199792 662252231 910951799 827147561 720437757 236040039 754322401 482441144 632951040 265534043 366205115 216324142 740256956 954437199 813679813 281735856 433594951 649598601 265544308 385245503 110274580 595562685 464414483 517969478 563422601 471305477 236952162 517221620 909497283 489557646 911874000 952448341 753064498 959724393 230156280 893886007 503985174 164251282 548602112 971587586 501408317 396665124 828400537 869944619 370589711 960093397 490398967 140550679 814028228 203288404 194786392 937720048 703564186 976689656 256495134 866389456 191424401 849555655 996864509 232786891 558314547 758720405 289699192 536570501 724501705 657153367 222742669 683885466 701027673 628916090 801541083 832374312 223624490 900806205 440842743 575032413 453845322 886195654 811716817 182902602 697167627 968676135 538460796 492414845 501189545 294915085 627464754 918270659 531889949 456537966 781502417 245230723 678683417 323012055 716820778 302612967 677853511 223056399 999114829 480446591 909070326 299318326 667125858 170455319 961597950 794750519 438276618 338749673 309330189 385576646 383414921 703743480 888030834 710840503 640359149 874275857 541604513 790373000 774766995 163410220 942522682 104771190 957556099 782879669 537743497 562029783 612139759 357294333 957950478 569347470 243719378 757399126 144718268 853921714 391695039 988184897 713212301 573481409 744531433 583159786 152010777 190674513 750463256 756017187 554843922 859855946 221480123 897830326 812923406 495103249 721479588 880080563 498797815 367499437 792725121 709791336 520239216 963917141 606460829 888144960 374846261 428878260 112180119 900209244 770916129 508809049 295496578 699307197 438547888 590308079 662112581 868929502 244712227 777068727 105088643 747669013 868893656 399686360 794203516 106132062 742593946 586389657 472398849 558621987 115630725 136935352 809018275 616645403 204442240 726269376 637503690 733913086 338173616 908416866 657678045 203699754 513825533 201428317 925304269 147306371 398888295 412394451 542640587 667653797 518416366 555607358 630019248 964519371 643274766 840231744 205432554 695032037 972573368 691126022 736095821 689331948 428031958 128621472 496570908 559781046 281386585 340136815 691707808 641227762 266660802 384418237 653975543 487343648 746250054 760496134 582095136 106101082 983758099 155905313 962447785 363525811 709012786 359205135 940678898 908460078 412178201 227555320 136118753 709861144 694744631 667072332 236809468 472538912 425595540 432639869 264666598 251738549 131239922 651771587 301145092 765650113 132203602 352871537 282260965 147994689 721988529 797054760 251157415 647241825 572437890 583420862 159268265 431797483 477147966 719046857 399338391 447016132 210825287 461296620 392453113 630542191 165251132 391296913 112541833 326971869 295071023 189356634 256757048 347591960 615374295 737391313 548471676 637675451 968555999 850683028 355375400 869798851 434822701 984889852 237178335 453425371 592024009 481722203 808283443 892400585 913200711 443320882 191435718 913137060 933045760 824580551 382882453 898917807 900754315 178662449 298933678 910348498 404552138 635571397 963400790 731184227 523267404 549001984 549568186 228106690 615851093 935747105 773635256 401684191 590477176 514734500 774947491 171320208 281221755 941353256 681221035 102779261 250197198 613104492 933492101 745518999 730893854 273611905 929880343 191419328 333478935 201666952 363890650 252558819 658015616 803147151 196671999 761225617 172360551 855412585 957665806 114405858 610264009 306749793 790146427 473884382 608246421 404955293 710941566 985922369 944198135 859220394 808505057 287827417 838518112 665027015 820815348 468614607 939751901 529977788 937624248 250701188 305093000 699213758 466644785 968466139 902395197 842651252 787552199 819069052 362270829 703228159 296385689 545718107 984341499 622021560 740260779 735893157 465413494 615045787 539263306 407506766 402308810 960416868 280994155 757580021 561890169 844892671 251240256 592998258 428722398 974825941 333236483 855555283 105928666 609272429 421751198 343418636 414694380 787859359 942486420 828120454 288644119 705913327 991783079 186337874 294271494 402718147 459971921 397425143 562822351 158967600 899050605 938672130 573186444 666319721 747333132 425084229 483476393 760873680 518198410 333780880 245036709 136583353 358898668 550267163 316534239 140042109 304369179 387137706 514442551 580222147 100163829 270592104 512116007 782276832 358091499 488520124 666332814 775634375 319301330 250446456 338750931 666038604 873285152 618553488 175172422 357878441 987074418 643872123 344391837 571258998 917459090 767160675 762967242 449456733 288278535 812152725 575511939 659973076 702990911 216574518 338840950 267495150 707002184 273962225 610847062 134267082 509985436 133568821 955984985 531439999 632906896 569048148 678575280 625196498 978791132 384484999 282721555 315416982 170422949 974302187 392318038 800794450 405596848 198061977 283246537 785342432 684895322 206150002 785868368 680198064 403766005 240720844 242398859 860679917 156452633 422723054 622042017 433228255 751455878 548085815 200453725 852799651 533381316 544296726 442637691 978084108 435197018 348032704 259173318 118353931 808849126 498523527 977363720 223470809 154503986 434161783 630826638 589818393 760809103 305437460 570032340 501438140 569596322 184176184 432920981 851681617 338971235 398244004 888626614 791837401 978356981 945086753 203810037 387679385 228402207 668183751 290282728 883094393 971234954 829492959 858653492 790862968 527276785 321320080 354689978 991584381 790830353 357358763 506626115 735010640 936188742 701834474 568418126 317866919 250072939 531347520 573521300 879966219 722034324 438291290 708554005 344878944 391718920 975828318 583796745 483325060 912390810 356132751 120068974 105324400 261505447 583526043 801107915 135242601 330143687 910687263 123387171 983224056 417545048 137335222 471294378 305984368 201831368 453584016 167755214 741131078 555887665 217343011 199959525 823851994 945753800 269480694 680279044 636351979 659583992 634592120 978939778 221163946 200776742 559565679 101592275 196544115 271181684 101878952 866416912 459025186 232180132 982752329 412799421 419786580 299496332 102299884 189270967 926822877 522921646 180206123 148121908 141721727 885447528 349762728 989704190 207877255 985139347 627638592 191600125 526234036 194264778 522057252 736462109 720559414 285471190 316327883 577714015 743264731 850888544 322396353 277593097 392045971 117480505 312082713 407505929 272753049 924131934 242833829 782281550 688904345 939157895 757575809 645678322 335864610 161302803 858504951 886679480 507189138 774008616 309282483 253964988 535702690 226623353 173767821 625630303 901630615 388913096 982659169 662635299 781631688 133734842 973906400 841814198 777874268 378346465 683378276 834371718 790820695 129698306 374047763 536588861 107625901 711150708 812050292 902077665 205558077 505985535 823692669 450125440 527092769 487729681 786123589 345469793 272450770 571263175 763040941 310919731 255258100 902066535 665766129 763152992 845420882 970902910 184128624 831243175 685123552 631818623 434630922 433272218 777308860 548108296 794959305 709947141 697554185 274428976 346469400 638090379 128102635 735798202 681388074 822782453 454735273 265651319 954269186 606482648 955050900 347726692 215062370 109552428 924554439 670287173 673269010 232542596 887965267 894554947 752477820 920230898 298056908 450732508 423188737 573237191 709503554 842479586 759889941 562536717 839187388 974947359 523114318 909151194 655805199 391285799 960381912 927423504 751375390 560850073 217703227 272926670 376254185 363539879 516828069 209230451 655842069 409187961 223265527 374338477 172790412 662761779 243600032 644802873 945372946 910097102 504216631 981289631 903620334 619357211 101787633 242961878 946418083 217710196 219554836 712732334 897459743 136506111 470432161 406322305 418439373 297484714 225045577 129640991 127704156 404764690 423031150 288067097 244446059 111838988 158099878 508659839 391611465 534752824 912881213 391014726 794641389 833221493 712961663 512092750 395466576 838333950 986624289 938966896 354628665 667776262 765011672 676464504 833729406 401845403 683344198 488038205 855287876 873248082 153858354 549522250 989224723 207398797 984654366 667621276 494634316 791420732 342082947 735280391 341871430 438353368 843797692 100182204 454024089 792449631 912291203 727564863 705753754 540573522 275400634 951789089 247344124 766308731 157144607 743378411 845124078 477906580 877295497 994964550 737714952 717824609 613279274 154196498 716304300 518136052 323835086 476221750 416186321 109280978 305806971 889063184 344666077 752644920 414512227 489810596 174398352 959870802 754378527 407990597 996699243 913862834 853030758 761623566 683208744 356017242 949944459 796878728 422699200 255193529 619916647 408633689 543517841 889206389 997306015 265980633 863132834 657602162 183791181 178739325 573819031 832336804 536178010 582173205 167648653 596636391 465869622 316185377 294515601 896786407 898770959 613783132 141645064 772287986 482559751 331069484 923365109 787868691 652291736 500619182 696859076 151326884 160288120 768402485 818552868 155036051 398697532 317401487 327823403 883770184 895521939 584479233 419433464 473197762 168779508 931970983 778632649 108892594 757478460 581306571 452840708 143678526 417889949 878842262 740572300 400329961 663518265 141025276 529714456 164005092 656936004 839400368 167837097 667827344 871310722 457991212 107786826 612506979 739373078 877544822 419640553 404519709 447515375 590948380 543918289 543261388 286767628 827563010 706479985 304008319 899652039 404441746 945054276 357249278 238361395 388517828 744353399 346535695 548533516 695436957 474542528 785541774 311513319 852809564 906104685 227746252 374276293 452639424 172128858 307689667 636641452 700733024 259653755 146434465 208257848 772719962 351936272 147469948 888896987 214778646 176851130 434761020 266950247 988349817 926652274 809728560 992258995 195476298 940419734 615285822 947050275 556367626 474358283 360982507 551832066 627271366 924415225 538684184 390101023 337043669 702382862 859361576 893266287 885071205 704528097 435541233 177711893 297659487 469636038 157985671 999584475 325867564 599082571 635864447 904408567 928440683 358382055 982897219 378537967 363161471 708412728 264672727 795400308 352575930 770902888 631509184 648453082 443682558 835196822 678093588 951552544 677748949 570205266 737622931 259488323 905577876 585959510 469660258 693203179 514686327 118612804 677925524 839312681 346624011 441095520 158956942 906676715 271211802 448798887 432093778 107344341 317715743 836496551 470826561 307441764 127028665 340551121 375566801 884543637 358571604 840349392 443854272 198674547 822435508 356052494 385348894 926920843 177037519 191449271 677012478 473111116 344764130 387942282 454571874 412185189 518166193 422032330 510119808 555646456 347845150 944646942 105850044 380853275 390714579 161085388 911421400 670241057 268364581 889215934 711644610 952856707 657968788 558091760 954746233 978570790 738184395 129132439 103838923 324697834 470830585 547132254 540897878 793285803 727198148 903557592 482265871 635242610 187437883 989542893 599237488 564611194 845086882 119159099 670362395 151097077 653512479 725795504 114077404 602399974 212663726 492871316 476495007 592874393 827297728 331310198 745593280 206703807 746065267 134740854 442071834 559489534 749069708 252431324 885843944 248591272 641647629 107970903 212486759 139214640 181069747 140339105 596920539 935774707 667837990 716317841 669416480 143819719 192274038 660331104 747654208 554420877 993462689 233444765 632597990 925770673 245956075 765673495 780456313 455510434 467566019 776867846 428475270 586038156 665605342 414836697 268158114 765000284 743908833 142470282 269942027 876125873 441132229 106344132 972597842 136508352 602723071 228263903 816706048 523338412 201609357 881698918 408259721 438738917 428076416 173466051 413806105 569844588 485501931 983347936 224991087 609842093 140951106 384577716 687345158 952278200 903615297 634538018 524469603 758759900 170174270 696994479 478570571 481266087 914122427 907443975 104144338 184401032 821391541 319076935 710391202 297747183 882390964 850962386 104308252 234770533 915285518 200545192 896754229 961964265 992589727 244390224 318930927 305557989 252520987 761764174 452762527 334571159 916522641 972952781 808401948 657448620 185159332 314040000 410905578 183927403 239044924 554314249 560164555 339817077 551774132 891293014 643646699 447723767 435838106 898516708 575103244 342906667 213870859 805053088 182559194 773726337 796495826 807496026 827487926 611752973 561932801 374764074 236542622 657213398 788093758 122986519 839563720 435081481 689116045 936956511 517585876 152320227 214688439 698040405 972013699 397503446 783761797 770149863 285515777 719012741 302044244 941307599 811950087 288835020 469394054 340523341 515524801 895293319 376507397 438572953 483190524 228263333 893924373 701386402 159627526 584277834 953951649 403927327 244428065 275806546 748483881 611575706 493817794 692620969 391214834 833770234 600633650 612475219 404407519 686405055 569703600 784083690 310623697 266220651 436028290 628309246 728786738 775343624 444261721 658963420 793508480 917986047 431148930 922905051 695033699 410738784 798325044 339149249 135307882 960422397 966541642 434622442 273433509 297276908 227437954 557932790 829648541 949508358 722092792 410650561 764823446 336143916 671224097 838543990 590944237 999251195 878040068 530514653 503185751 568704516 236185515 987330066 711248759 656164318 320493553 987515375 495852936 856447783 264127059 455278583 719066538 146858231 394683712 475462410 134622031 690648134 377396772 136442183 232247340 146069421 773842285 491850858 629377756 624439127 485854226 203884364 463861134 106746299 705683362 490624620 406106566 805191897 422335865 991239279 402317194 815118632 275153364 816278464 141758620 577065136 192210935 396444472 816692268 980217088 897036072 907474533 723260918 671153898 170291608 937871200 221773230 759506483 198092859 673386461 325115984 447667147 957556798 590940896 589933226 421935282 319601116 933646533 714000274 609894388 696704400 433119382 485711483 523322019 467541181 897444816 661400917 144298449 646870309 131568019 821805720 510561612 236998534 522379552 155051317 810424403 831178201 199109835 972212593 705501512 695381992 481788837 736701164 174774459 567273916 557274152 911179278 368580739 477346116 884815170 727312364 228362173 143300770 903183529 334336212 369686329 644342427 440880933 849761779 543635998 907638807 784444355 523784653 500956186 368200248 988488579 809771753 850397781 749835508 459777123 103970917 266115931 120278640 102631586 738359337 828768268 759524078 429543794 570577700 330247897 927313735 274164878 427908364 601380727 787808427 699858380 878922748 772699270 265320848 477476482 510654935 878009274 220464111 960885345 388566680 812700292 463035634 591891058 906120246 463484750 320162660 643892527 360713079 800853512 287278351 831175194 238143207 785458556 550223384 758609516 378260215 458031792 150559423 880933686 371531430 474022810 164086629 891614746 316630460 503117417 605046804 979006227 194040768 518625803 966832189 677871419 690479862 220927710 474824419 501478782 654820750 109754305 100962202 834611310 986705410 618717052 959573935 506641028 555521434 820446052 510643287 652320471 302716684 780437692 993528895 143993909 914206005 944432930 717876821 238860490 715316010 522834943 584392078 569980289 267619494 246937138 253246805 232579975 663952261 478506490 342287092 615892806 901744497 761797347 797976395 434562539 634677957 442674844 965742215 751687615 113314346 117580306 751548153 176736313 961802918 332164328 625422631 560889835 733411761 435272696 848069042 667837436 266802209 538221763 246268898 993526696 490577560 456624489 176900432 946285929 274124305 668069670 442742599 874290722 276333115 416967394 141769433 422033007 772259744 667821788 355187106 610514779 772743374 419777811 787847904 171917137 989885024 249989258 624007675 169973429 889366827 833642420 606101819 923059929 404666046 436237758 179714360 755438741 980120677 659988348 262448994 329083637 686034154 919795141 786967265 414561554 854124587 938544904 532533944 330233515 767332505 425119624 286586343 813907733 102381915 273157926 852904399 669390343 483902238 205382248 391894742 307556333 444999163 156668032 827612064 892840872 702075690 815738722 679805087 574610003 998040159 199972109 531512929 549399892 752983213 701043012 260326218 776305812 592733261 835404044 815218683 687658431 242138008 299923115 598782070 793325366 546631870 589505806 483342341 766431715 653888627 117866441 516360739 882357838 631536270 466985376 821320648 167112404 553900658 622388023 344200422 904573194 790081555 515042845 332517858 148316693 104749267 513178915 558342884 204416817 909922822 483772407 115472167 391493541 522577112 295370885 703534051 133977553 934908737 491932855 743493137 827707931 912750901 907036346 770178352 133383111 239006542 810885391 421638854 450132003 159899591 335771243 617133240 170738403 604708098 703166021 770660219 471100770 356908557 783965889 268540964 260224815 277323795 701892518 948896277 111920926 788110093 581556741 270305833 500081934 775730581 309913591 139576332 964939757 157435254 593475903 570236008 472174079 939566455 956584261 450012739 494719005 513343031 822160485 195292322 912090223 189829979 978998540 713687453 222613739 786605808 859704372 177297576 439350706 990719284 359759894 907666370 541942655 314022150 234860033 106674341 433307656 839215074 850137077 901980443 289320521 106853581 711241036 855858946 649273158 609023896 463013745 929546098 868840604 565971714 775508901 516004482 463792422 572786022 634310657 129274034 661234988 460527243 442569064 374992048 782922214 743659068 395248786 622212313 317133186 389924924 401112041 802405480 492404046 331287520 177970177 414515075 679212544 853103963 898362901 915331561 513151660 710629920 830534428 551404964 799088068 374456323 259323859 950297006 460901593 864483359 581982245 591904725 677157186 220287142 392886399 927558038 341924555 276035122 166489598 732291581 914310256 972913138 737581355 198972586 619070418 528605335 924363684 764871501 761559300 934276439 528258713 473081337 830077100 247624055 170452283 356112982 449705839 869562765 237246662 225582500 974430273 473028669 569605810 342382281 554910350 679855196 969126432 637817843 202312174 437181403 925355263 189380844 112751502 927399510 723435497 630977009 838802973 632563174 977031588 232886867 794752036 281089689 214230059 473561844 312495939 636134912 672032605 589441594 823428397 461901358 220307811 566016570 651913554 677699036 767197746 247415489 615979512 802779006 834863615 748854799 735087012 332171171 923718564 990142431 696794999 138636470 295967351 899873544 991885050 773195436 340760774 181615838 280265619 852090154 890474573 664606513 891605671 690299429 949131226 691492632 380044788 354906591 131632624 951237349 316242404 988316458 759944276 293252760 300733379 773999009 178610420 693281317 564426427 455446765 916408533 749722723 711197441 603426547 732340439 928210942 208721078 385313077 563192516 953382039 827295675 561637781 675496855 393655240 651119669 434322085 931268920 896026156 372913349 443275412 364964479 224149238 530290754 546283605 618813738 217728939 483500775 368208115 385853931 465688788 426247493 488269734 336822623 436044343 837745411 701381554 274170539 373691080 572126149 678280218 297787190 198079500 598897167 663575503 707376881 590381938 297937917 731408627 856382727 506301655 981421806 468486844 355129370 510127006 289513544 201810975 877001835 360084425 585144445 239042948 427966975 325696041 682455020 161066960 254938129 595809326 849887338 592943883 539117812 789545243 624480235 148582476 711753134 578463801 233982177 797444454 857956893 938483825 662584256 150835665 461074629 629330067 548704548 336268043 660242794 751165624 213316753 900680249 976582939 913214870 960596273 474346209 274478954 366945920 237342825 250431907 189732715 209271537 770316986 274821331 372632819 529353600 737804990 314724017 128154289 367907857 430688302 939202686 685208792 424183073 396620043 581758859 359090477 986594542 223065083 858218352 693392538 473931555 356306376 587361222 841025699 661424031 269168559 662051107 328107081 415569923 580458614 258946548 507529561 798863529 443081227 703898170 121941998 560126259 623572995 969331321 539974834 259523215 943140828 501697111 634179634 402634005 785048179 504965811 628814148 618832443 143265882 794788293 507600084 693267450 996903937 735966472 365658818 740083863 746264887 602804369 304929597 889746112 987458233 516112250 608428620 514990931 176791639 610130111 840875289 877537560 338085573 879924333 977839263 914691824 285400853 936158196 452927499 356839550 634487074 892689191 923145279 132433965 780776558 927925605 547606799 524434740 706332949 560778687 456060778 540813435 205789005 442523067 786416497 613011963 830496110 699159618 565739166 281789631 281054423 144793194 647174087 505111562 417096182 963151924 761683663 600105380 300309404 955180426 187331218 393151624 861891034 495529822 297327157 842207614 530922143 934699382 454616768 637017483 938436983 341346895 939482168 652111252 133189087 780389186 637209388 574171678 564707608 149903222 746536940 265920683 270622889 420543147 907215475 202045943 538548877 350262019 550999988 196761670 709932497 445385477 278752134 721520984 819577199 687214780 188179309 821232134 294190381 741295171 565378221 213285062 144032564 550489599 445497926 865359901 796828969 276215474 928059030 824685185 776206116 111098461 342134346 882792046 262192445 670555413 885532943 661294425 552518389 320249662 348835267 471129814 199952266 377305415 238685566 654450925 723858204 678208547 577980082 328551301 644970979 624978631 556084967 523429423 406371024 820478409 695674828 194501808 441758637 963023831 364496336 936674090 646433711 817683858 892190417 611096761 886717144 819883835 607032106 103395607 743599195 215726287 451309646 267047618 472390219 282744840 941417294 586897734 490107103 115580997 642300408 554342548 390354377 194456732 495714543 705583131 398607072 276800114 347415368 140956492 148757535 109144204 447376561 165431113 852109361 382361934 356645222 492001137 666522728 523366776 993790984 157079582 615102321 614428100 950789875 397466557 857916432 643707521 477341620 763027281 739357827 691558417 728635123 875152971 814810528 586359818 168973101 525609082 291719415 328023960 296445180 226493091 275400272 635421427 201899700 375228947 815307182 372469623 867271581 535618361 288741913 704411874 810176730 937272419 516941684 280386364 411396614 100294437 624004651 798474905 989809182 730924501 501173016 303057753 396449506 742084147 629371136 108794448 458726736 122992672 616984617 307727782 281875153 618612172 312821744 247422637 989307487 424715037 211846038 858428823 491544899 103097701 801455205 580459057 158935364 219467499 590672294 621063893 337675196 473156562 116711511 266964263 499728651 919442831 408599664 164544110 118319109 229416046 206170962 316170099 306553014 464773066 368892434 561610758 125918663 652150288 337574491 248060293 938658311 557840873 486111411 232402998 909009027 167354850 782919195 499487100 859680726 720861358 416781197 156754812 792742285 574604835 432776951 240883350 456032770 188607218 815785675 489220363 184298451 412377026 191575382 844964787 446325117 458960926 938526486 736714780 441231879 371339306 610656337 560837246 713956073 567125100 875745681 776529177 773943538 310331312 312094943 837935427 203098510 198686006 624047825 961043534 997978614 529785741 122621660 749422282 518017541 586781618 850296156 697256208 630225237 718422769 137312993 465666411 946910731 815780582 763021163 896455263 785002887 693296651 655733852 173491728 168334130 162173772 850907305 574263643 744434353 572035313 351771846 597675220 988724672 316695530 715124709 266636034 853453840 794419639 281098431 940922160 484851691 507584606 263303910 731901964 408339989 408935916 737519533 815085059 267887869 928890655 502335311 873410996 362461847 237641525 616705763 612816705 744234406 460385200 232725832 110334715 275686172 479998290 261834856 640362743 171461721 598508816 757723220 914781183 215210250 417928870 548111920 808932032 305833928 832308149 667533837 778886106 196185669 326198535 240188543 838955173 365390786 613840367 264648662 329299931 126237065 572985677 388631185 556861421 681371743 352815182 696883235 799941085 170049650 366916989 324551383 932880810 643072115 920784217 327570604 868789756 516413857 867782139 917222646 436370360 256820803 629572065 730092775 994972168 851402951 799529065 447783774 454516159 978847781 111699197 489792248 561272098 707406376 976718438 948128640 530330477 819290696 365788665 695998555 536753486 467956149 892000763 572587243 536325665 265175819 199612537 639552618 893724072 115544909 412404046 676977308 276215536 601636775 108911279 732922426 978132258 118252152 129861418 321656285 836130744 989953331 442261913 466059308 926207540 107919140 997421332 107987931 272217235 248346079 782573663 214362052 673687308 843311351 195367155 222879069 509185934 613137056 901068022 587594070 812933194 895139966 849449111 588113978 712666847 539408888 895616142 626470590 252289476 724671033 571444629 793924822 861941729 887651053 558077369 129559557 679959994 626964329 422817187 473935263 214103920 709128397 736014893 798007591 105783822 415763402 723695677 134020794 334734440 271078385 209748690 956020035 450512752 902572016 992541461 769837397 119425954 886556563 478937566 162602866 777825168 314785993 757132511 158696153 516966161 668193231 549981480 954663996 429994353 699135790 270801599 979463685 871478663 314450702 207699182 391316795 221512782 508489885 188929859 251027204 375736803 888964223 699093093 568676080 506114252 915841780 302680198 240969477 488660759 786896463 804303673 182399782 112260856 555209567 431236109 458055673 573877982 216845917 759240336 426571609 951323530 677362678 144671595 520466518 450330499 960319347 734207324 744959752 849598958 434476688 439574812 591813602 265411731 393062447 828537511 371295788 895404044 592145060 498563246 224875535 876466952 947512185 490602443 386675131 137066181 441661839 432174022 385209885 821991970 966062773 344722859 808591490 917812525 804446961 302025420 599406991 240367773 217697153 284524634 328438691 313456085 965196123 910536422 143112177 378440310 343476807 620067969 134500877 552790688 703018887 850862391 667307987 846203760 891498473 313436007 892751136 381909316 684311382 241248693 349941901 510539242 391085736 996623311 915812601 832110357 338633197 979346051 906870058 918958109 716409260 410107289 945062249 373330100 394377274 233200673 883705156 311411983 182968843 202672672 139200582 398671490 881706325 765005904 594835640 562802696 153120349 806479447 849544925 219267801 703882363 452853631 553137069 865208092 152294509 605912140 355221502 368598932 613079770 341595872 440496432 734209334 824840027 873068854 811116917 398208891 144290766 976310501 211839469 785277275 294839692 306270337 589729256 611514723 712658831 399414571 948611237 608938908 387917980 142080061 451327508 617772149 415515578 173648854 838620244 195364805 518348451 702118971 281242137 823051550 765358317 210253515 518731512 474029898 938844158 628820564 719311659 685833849 981847049 588619043 156016809 278875377 377364448 460895679 837229220 378007181 874971420 214257907 327253738 990231062 568691524 198490276 360597484 189144610 991503335 309068788 625840354 749753105 634425834 577040181 847022035 910592165 487585773 793082469 660600801 198910139 614624702 136782042 183823469 475320180 782618635 390542477 814375069 387572393 714870731 200665726 810164692 663656503 627201715 733881499 556293714 251762103 398261026 961800295 347729789 181455052 810647757 448125824 210133399 871763859 161289598 981434484 469311281 182879441 379984278 600999428 253715573 474828520 156441614 470562804 330108090 972650060 879135503 124223665 143069367 567303239 273828410 397468042 216847565 521053043 533428797 638103084 675246936 708093281 265915830 131476461 307713627 210934168 454744729 775907482 528779246 162168079 675723710 178577372 651830667 642688683 652542870 820105433 653076059 511891331 707227240 557766163 320164135 817827014 599294890 979211387 555319771 600520776 678611480 612975931 313557979 334482919 106186566 967001901 486103214 495085922 156344321 597157800 741265450 286251330 969587010 822325277 520930902 586615090 592123095 319246469 321434303 809521604 947178573 757924745 433530087 349943700 970420770 400962387 756715696 343042502 352263340 842174591 995420420 169330907 145194427 177326257 467435171 875108285 430943198 533071842 152843086 885920404 988607532 493041561 793222250 965141937 314851746 117251247 457993448 786513899 882334613 916609365 926763113 354767984 561906617 884513496 537423465 137919856 956015575 631864496 141427241 663414453 802187522 664844144 366503600 462905939 847198095 415522230 664609810 178907977 924958358 953552029 797975552 853809065 459194771 453723201 268256753 668969259 894934770 583458128 936925550 593842270 254984463 568881024 410739480 140949349 643908341 863151549 969697973 555131989 973677317 242815725 424353165 269656567 310658624 500907152 634018893 784368731 886017561 154029273 731630620 444120311 684648009 483536521 408988829 262402746 949975261 596876828 640454874 845210217 539106423 787449398 342394027 182361834 130374180 739593741 410046467 205306343 476094757 866637001 347919421 604892915 983097753 866855107 126197490 639773423 200707163 148435762 744911727 748866880 382480443 879374912 976071156 601019669 255233280 478850549 332233064 766908641 818548993 978690911 947420171 201322332 579918423 698373058 340424773 790591206 994572440 179528311 772988893 914212600 466721148 786322686 823642263 731974790 944096658 512336274 535812319 642521422 210158516 644419475 857513257 631544265 799302718 457088258 877410775 422932886 883586871 285068400 927419982 464539928 957728008 361478028 347900194 247924401 469890702 138025948 149519670 216736087 993338820 736454000 351939000 244384429 439027112 868514078 185940712 144948125 364597948 689534613 448281886 134454666 481993831 984408081 793669683 559856285 948571377 166338905 993515521 547966961 558788731 198388806 247510533 259578951 504915020 233432734 738299976 895433633 671508210 647078433 275771734 387881980 920341505 362687827 226679132 381486002 765419301 252975815 322408283 327782065 367032291 938232507 455908407 243183007 311093460 267819954 256942695 902152476 283654597 994815945 727081783 257074661 606059868 813188593 808007906 118931613 278322516 549875197 232916378 396043759 669978116 952654014 487435352 452169776 505222609 523631976 351480958 400612803 465275529 832214955 798528940 535019010 181679662 952048286 632793067 326811276 284198727 405518728 230903526 254232808 271006546 982229713 168171864 832590587 666476627 911991257 831920979 514260573 561115777 909194587 545849369 924914654 296276872 379022663 356276693 116966486 814635820 845344838 278797556 479169213 350717454 974861933 314092816 294135202 968880642 991272761 418034644 280880985 259229294 682220558 100464740 548886860 585530873 973027776 411056790 791351799 561434474 169582973 886483394 740731296 230321065 311568528 985608267 719395924 668524277 172164266 394914135 953860767 615497571 941629863 900583692 602587571 622136491 716729469 713966185 256524038 368564494 448662392 932884435 765989278 142474736 829944900 538108021 583061190 977003392 457142172 625046769 489353989 315001635 573249479 458385330 295199929 611498644 688786384 586623860 274211586 765806513 301975917 229988941 122838591 529106294 818967257 616556047 700467936 973632764 939625379 838271900 195173342 966274948 667757423 789934142 856616322 862430317 428028423 888407606 910022188 619692312 490131453 773235360 312609587 789289695 227618316 621891382 936046753 618442607 159039060 105855513 477130851 487402856 970157842 415822045 784312333 409940612 711766888 474310944 657679261 473792299 116291373 432433138 777358907 600435750 857799583 988937410 209831657 870672197 952515318 179072217 199097383 364409031 714999646 570609489 740339699 504529039 589644441 188083058 728790117 353696656 554464102 165094933 420874940 107204116 775190890 554879959 612405295 382302778 280687880 871710467 233122833 688978616 622543478 113178202 512720914 755917672 988089232 679079319 697022609 506830355 595198961 838419273 960312745 107532958 218293496 811235019 343996273 849625310 613786194 538850778 143149703 455941675 819749979 520408877 373667435 158928611 825282593 754070910 340308396 658652304 751022873 706339367 276592393 806372440 960500603 677858025 751569911 643386007 546717542 370344936 981186152 562134498 466892131 812597207 269730747 696942210 155851068 322958075 932601402 585135878 841247639 111437382 133163194 597756980 541959369 356870351 261671075 533179958 719590481 572751973 403456181 413102378 611743849 370480793 196761597 741339444 588577600 317746201 324377710 664151223 524786168 468247580 627700766 861485951 796265778 386567871 368475240 276977953 956194218 494141719 340878340 765094266 326126768 242522978 753177805 857544702 972395632 592027723 316652751 261083658 544168651 277822652 779401899 682654522 276018078 152901138 467252479 970185979 912516742 316842185 811788475 293446102 385276906 761136900 914945906 586392499 743633546 352104837 405822665 183583450 587364587 552427757 732427777 403178271 358783734 958150568 293875133 864486774 190175150 489663689 471617072 614853077 212480522 519650076 765496245 673268940 211275922 167951659 810447280 731291547 583981961 982270302 445804174 179779118 353030300 654200901 618330913 506164808 385418653 108994351 281764059 518262098 869555772 512429969 375038922 436375452 616049529 279827404 110983141 832862662 704312375 309384487 653837800 233311706 208917977 894572967 138965335 785159650 798901053 894959973 742715510 886957717 489312131 195787707 303379819 578511234 783642742 540473343 932559302 653556038 953927681 158224627 981133923 647899781 534638415 681937655 486405641 152790939 462085698 976145183 501634727 586526128 734346513 496318391 964944392 533250803 131414456 943235863 590774968 802564156 468981567 969725028 573772791 536983699 154251095 313538264 131669395 192396164 117013553 453065243 832395486 228139690 566008763 574515068 716100163 108991217 765579931 783719085 415395466 396400313 933095754 695946298 547828431 862200977 782579716 934634560 984467750 429569540 765886589 227088149 205013706 474048971 938289980 504880831 506541492 388579831 148247956 561374975 473396741 399298741 806706647 443106339 461179994 567642753 852311073 314254280 536753439 900051928 592301631 844249239 498557377 847939022 613747569 672271971 199721081 438164800 575168342 121317683 332827784 315233831 497027014 749603635 146736526 107760885 986121730 179113235 258918591 521894252 441515042 760603126 611828053 966745905 408377177 549452401 694350728 336153359 787943859 257760994 759602045 133516638 823787545 681387361 315778386 986639074 144016484 468348441 123771805 429856997 480858076 302211028 516764850 921328755 164239197 656740564 426976012 255562650 620193234 622644094 805998322 549134741 287196516 397690290 860564401 177366876 156428424 976277296 419794109 482356653 497675451 795135011 846340980 239042387 889307987 809028548 773578872 918413684 170372097 943928448 161597365 463130656 757933619 803628044 222174161 457105109 498696859 638856082 906787192 336202299 461343258 881212455 815735609 169581082 792421398 596927865 694896004 740689639 331481886 704943329 517667021 995545354 852466408 968545559 724282268 494450380 248396688 385245868 317331520 767063982 958479799 238884069 202176644 880275399 553172384 275706315 333547962 135905943 675448640 480767105 379834037 440028559 283541188 947301980 457419646 400788837 461313570 941670718 920261356 834881789 479296684 555768949 537993447 359549137 267357619 835573723 569331016 904591777 864271467 183192892 132032471 478403184 251321633 813558935 120126257 416023777 758410708 916231947 467143669 340027248 912494057 585696980 123253204 853263240 717893511 926499824 408343646 244869694 333470867 975715077 891257892 691804080 681371004 992111862 386721670 789440096 992145022 382030776 869055079 410257353 156450715 378404414 574623662 753725824 701679270 996306378 880102144 247765423 573542349 576863183 138474933 392010934 115477769 401375366 446868301 475159747 489997061 772931045 109097317 478607841 881231811 608614331 182756137 575559632 182724359 703846960 747135395 378428561 797999722 366372342 911519557 671250278 461730965 670098119 558141315 198123232 167107846 630076910 426604816 248668106 113860679 482648331 349359683 573762247 822985135 221476375 694552270 720942079 885163735 106393450 463302545 668587500 835811082 151936474 355828771 231492788 276117261 749854380 483287266 278383039 341077810 159581622 367284737 838864251 781044439 801426087 544502850 610138290 433833410 764147694 158157272 290973478 699323798 990954147 601531291 110186353 603088088 877592562 940637389 468810186 887675094 635448405 621999057 231417827 710079211 549438681 342061540 679908508 815040132 140671703 316143043 883955849 293331801 804332283 964345018 523508750 149299469 772989229 514283482 292097430 219137163 429703706 918689638 206151689 645318691 651317480 137566510 215946480 346689589 549635413 694409006 195076078 713909464 908582081 217029672 887265381 945654603 409771937 680012307 464999162 809622401 475599902 857183937 902965575 148283471 387068791 560787673 984940327 579959857 567395263 195557815 657241203 350684759 400644727 982508723 189300207 816625325 908941816 720370744 541771195 829666272 935677655 623679937 425376163 572453612 231537317 807120526 350724167 774841830 655683384 361915318 645908904 392326199 415639525 800851471 212704142 827874313 504480197 468955794 625123455 900759403 238712679 658113751 598170589 663428941 824975192 252716228 393424320 579022210 628871062 484997132 625142184 520485285 634435678 801447227 975665787 889542112 164218147 291484877 869177925 430493854 387742929 311227645 559556035 318439270 165541623 277177587 939182129 547527811 105411655 737446237 398243255 904040202 287804692 695797145 995878921 686349236 309948993 810877282 637765600 298616923 963054569 977421254 442459969 394674884 126379821 577614930 162344180 153245162 222474638 648492947 534249890 561830205 665643200 353393931 902457680 803573253 163466079 181359822 992856111 303595300 582474316 367485340 403915752 553096648 497149641 318724868 446035169 280441987 106263604 467766579 931452936 259702614 545904057 608638405 715440886 966501753 700031281 116311692 395953772 688508817 526958521 830347445 377525738 988113687 821249669 495671025 961731881 515571087 938972051 786534017 917328323 537692005 324847982 329052768 616605195 272049170 720923670 341487897 620244314 312263279 391625483 753747487 386137469 451744919 117067838 986127405 124600517 158451980 710563869 431182014 252523359 558703443 816176005 700550849 146325491 136178779 235970961 827362747 373660090 574021814 277440703 758223927 707221360 923317168 956387950 150092831 946260379 602864718 239126240 325763516 151719557 926798531 454495304 541976952 181906150 624368786 130982796 315243099 991213362 692619289 573903821 561064139 202568441 455834134 154632849 253018249 445169726 206075128 146021760 488852867 244274450 171637997 493235839 926403372 440577157 264315987 761684723 823398638 183655817 899160142 964384954 528184682 293788175 750098609 112255585 141539122 547342734 688340446 360343501 133335191 354364747 206306113 129261199 850647753 929729626 160580319 324553786 716970683 230579256 717558292 870668580 332204948 340394726 714857924 717011973 259612122 618818745 737308438 555569662 411270944 231934879 153053861 509277827 200312875 265230005 753985359 508097821 127961160 676594149 863620173 368701721 322031890 789718856 111591555 701032598 366862440 832985396 135959493 773563019 610550711 243955820 225334080 545311239 556545755 288981682 620408879 376185872 154117018 217423333 292905720 271944896 673735694 458885030 143924775 218651063 785354651 227434234 575365241 919429461 550718752 860207478 634124661 884565003 175107801 123800447 201315942 209802897 562436405 467422200 860301922 153698884 307355442 741305949 416325293 995095079 126025739 847971125 995444782 144637984 255699922 148293097 698488480 656595772 615465395 575077392 986597323 309499593 554189171 889027324 608099251 846696482 630801154 130912672 976851507 934460757 199078142 644598822 714030885 997394992 606279979 697223206 110023225 988498951 341581749 769514673 190413321 673850865 629163437 572676511 976748816 489534404 121277610 210078858 704122241 854019923 369805342 683387474 696024239 402459117 358270285 440767272 877648920 984183719 994582802 782393270 153871394 519689857 117919608 324390438 316300195 393680232 122607043 917410617 877850365 601123531 804029321 969703294 192207615 527569527 834512088 477760126 569783672 619825744 308115789 395917303 190817225 614611609 218153767 327664708 736197857 692708624 317605161 925668822 361340619 459990248 441918339 522856333 462309650 710708447 239161862 903599944 630519628 545557798 942651926 344064231 423873445 336872644 215093395 249296100 769278772 884916337 775893813 735733311 327052777 833418506 274607591 621999820 608902560 315239842 898425373 278307869 388762506 657025124 824432345 670067562 945158923 169223081 747440295 250410145 920956320 859083071 859012668 858190932 515638399 571322038 642588260 153916416 584432516 192888914 778083833 688410002 721026975 820356246 461946130 513414690 961538107 414199168 847078561 265201193 150723401 877601221 968245962 323573966 582898039 143713938 787762753 159127248 359458435 146546473 411654619 118179471 877231533 809725121 516427735 896346912 559301081 652035193 602656279 552062140 828551485 249160558 705720916 658839642 983281183 152355794 465662603 259539257 645641137 902789709 583235850 661380122 561473919 979558354 882770828 190831507 498434961 411062241 777391450 897750762 603659536 958288228 787374475 373728052 954636977 125289068 654421375 452550134 100033348 501818592 193130572 677051215 406459843 312596181 460733976 449851629 316226686 536776767 509878882 420260045 780806175 224216837 840974054 677133820 701003280 130476508 703999482 921945550 229487020 857503583 110701169 649655903 464484411 139311149 675383922 421419353 392672034 908821731 110567864 585841949 937657968 330509024 417146691 193035644 329987571 589115156 315208472 654595719 574355060 209646241 795971958 379561473 563510552 580000914 836442299 750361048 821797351 694107361 938681784 624000978 920040782 811323738 262925026 699112077 432865563 516141332 111812592 212991869 983017281 954903439 531438334 999514070 736829619 252354869 109112004 452222515 683480216 109869777 503627718 247051852 920757815 632878181 661804974 521956755 802560009 397857374 150357229 528267651 640401207 633003146 457348678 195086699 560261638 833284006 599693311 698080656 180018813 487654086 922612493 618882228 423822506 789019442 708047105 858297205 586674900 312994614 273602669 936245361 495707766 449455743 743061361 130457862 702835302 771546215 846104332 200442471 719581615 881622614 631436533 371498078 236357400 613547773 631392601 124619779 423186459 793507117 638072179 859771939 778181968 894322326 313687189 633072892 595048829 126388814 225966435 295708721 846589668 429551797 271430870 872873781 332173426 961096660 823436915 917011033 930535676 143435377 889043858 706606371 511685596 388397158 653964234 198753012 380612275 511212372 764541322 794692324 571444419 121772601 724853715 125566937 377790883 193044072 754461801 246792943 711554153 640805880 887952923 215694246 766720444 268012671 763923902 301445289 818552134 599061510 160679011 285535488 714556640 873529037 540813222 921482969 932930485 379297265 171900701 969210667 325491888 365187255 325631871 686254051 229726980 283676460 927064642 367437204 272508934 445041769 478803838 112655232 593430002 232054631 613663100 941861024 943100933 477462714 245111513 292229952 697321487 887975050 885778378 893380866 955752902 930319228 461376380 554639368 677941503 752029952 605917966 985258730 801010715 912353828 365811981 449814027 119327304 816931472 119119246 366932882 973271733 427498139 744632203 275717799 829124967 304366684 947630606 750518328 632275001 951639929 665147921 635545882 966370436 336372416 917335684 627155633 357348643 863616071 526384963 900512458 909118987 204741874 113056745 207489595 723399011 122888773 939247746 392218640 693003584 376128053 164088395 332728094 271315744 289679858 722018098 300391218 846984098 166409630 193761852 109019672 270378507 344143586 323241055 182457269 490640612 753205266 606439211 478094742 503176494 825033748 462991407 966980426 627813671 109404407 757461076 714039287 509264160 842023191 804024380 348179055 937044005 170237129 277168813 716362480 999879399 712622308 735318218 318598994 219082911 415226592 913696669 227454166 487036041 907479013 868665553 923375569 645740300 857189397 336373092 739012557 746206361 594110478 173138665 136006433 943797627 712416009 700193606 869417961 246511393 405865349 504171595 623234712 130091072 588343223 960455164 710858304 152663557 204411846 257510923 112870421 843558433 643912314 727178071 226835569 880628285 699026635 727817891 446654795 897488146 230917527 262013380 655610020 650729711 325582062 963614393 399521030 237576693 939762944 866838876 108707598 460833075 856372257 712727395 860974308 386293962 887546467 589671515 630784143 523024108 643569886 982974578 157090599 759711183 776328689 791385139 820962468 534090105 899130206 326086450 210912819 424947408 122796534 537077518 232290439 236697088 764610714 561553429 349159009 837549149 594589793 548209757 504014822 123060940 632457772 411108420 907754145 936641369 869848509 850844779 298052062 638733120 284051173 638823203 798113385 547058358 180639290 493615056 355990470 787899722 718168920 404115006 329239103 718521112 823668747 590750212 947888301 111110751 338626745 845694546 991284756 737373156 906451998 315622791 870001989 367606484 117815446 576741889 502006170 815928333 791011087 401146394 911189649 711586248 547475056 542614126 959658427 151981138 964866294 130167092 453133782 513991118 478690445 718716218 660166926 147653929 900946279 717703098 365315195 636700006 751700333 527757036 819530638 189426128 923504255 277413321 550542893 772271973 237508231 859681429 829240309 932022819 634687415 127176508 527207543 152858786 535811505 807448371 811104192 432144306 674877986 439358366 243554091 766656142 693389851 604878399 269749432 553068904 269750736 402015841 490304827 281964770 508480818 384046859 495419116 780286485 957169246 856604183 147039721 498024228 331780599 762928112 248205484 713297115 341860482 632216383 358412703 579475424 800826508 735356150 664074091 477761442 598531209 804845148 930466742 496746026 651072788 614662482 921706141 499720608 157692688 968037193 314808000 917768982 649655860 726418412 548442360 695521284 225379357 934600899 479565816 328893368 567297479 108155149 287733006 145796792 809788586 529768969 924805920 556154365 939669123 853796072 407103616 666429361 549663809 436310678 663565057 819672464 190804268 337744563 423674628 464026587 498519888 357010871 423409680 366935262 160443216 691241320 472508718 225014837 332923261 795587641 112051272 378374361 740847854 368356862 929881412 551217758 436891153 699035674 588501720 976064142 728262183 604357326 695991199 481738284 896674391 694818665 136427537 295106398 453745953 893394470 937936759 553869748 299551776 276833546 920800143 812527758 624601338 468099692 648530856 466914946 290726644 718692772 469611228 533255409 787130385 151049184 476134705 653168404 834137385 988172951 517017026 755672509 854119166 278532654 504766024 754864884 384121409 431338076 805410832 583289667 409632867 713034823 477171743 368288577 550874715 803018538 850635129 295118873 483697126 174010184 585063536 423622326 703509696 311394176 973070646 678570948 181631276 103754238 532924878 167966588 605986750 685593422 743580838 390965945 687718372 988944724 436618627 934756726 278302412 104686242 626315033 541455933 557834706 346591505 314079293 743468800 820694554 834312237 684225222 603973128 487663211 286804559 876569607 515076031 339843816 994850228 816757163 841457463 323595764 144496070 658425559 696414734 109072865 240321449 256035327 601522562 164543812 936141080 463977559 562299246 251345975 108785673 858527923 916197018 104608532 214407573 394985324 574826951 573394724 740953033 424647283 991789704 621114944 768571773 348641601 951857530 842694448 929517891 894063523 659920964 315321825 321541955 227871631 273985737 947416396 669725778 654867329 727442177 126612543 638733124 307242878 495133760 226718886 222105462 863285329 115823352 503318688 880642958 658327969 583958593 292053197 209773423 585019007 339520199 246120447 566089767 903170453 878322973 575040485 320963927 789235489 518905579 639273225 574543275 262222898 896624470 115284562 943443584 452901081 339670155 175799193 474578625 480344423 620983044 311788439 911556430 873312643 951954335 306077052 428073729 947160217 446480831 724795475 481290458 658484460 314127365 549850994 218720538 438331488 187592965 462614202 198287257 932404292 935361716 516416680 473320262 999619482 768655496 336595366 534129303 862422910 364091876 196435023 313298390 842310903 872753324 280936256 701713960 631795742 742900753 941192764 408983279 429115825 971423634 551126021 504047544 972051329 653982582 604826879 643017563 859250415 485541901 697634975 549300694 700237397 158259964 867510539 213882440 441898125 368918299 540251537 975012582 628999857 441080600 787299064 516371375 163407899 336477745 773994694 459784866 751230854 733544919 387320999 117306558 421355057 951580864 710428614 281420901 935619902 519214203 113813274 501462273 740251837 750455362 542013773 869582780 567140813 592817864 747004631 278968223 699304659 205187613 331841346 520363121 999576600 611985287 587249031 670754420 274329278 941981060 906901890 976420173 393383379 193717820 233813721 663482245 337318160 770720167 739581424 800770395 550553365 326329058 327426747 595934335 970404800 394264948 153595403 138270586 896193836 964835953 687229979 948337750 269961072 687342208 603375798 206878777 395452683 434487150 690634435 995212634 179630415 761860740 921290975 715757794 239028902 370553691 418436936 561345710 353035833 116050018 585633007 808540885 952471521 112555852 377064342 831066019 447591584 844237868 960269815 553215987 816717455 892219764 361391826 252378420 229522959 649211278 162726921 409943422 902887957 710551705 536074523 799174724 399608708 771606006 975363698 196307374 801661073 787316059 305574080 801501285 708238930 119456016 715499322 608391079 335645443 728204150 719575000 260040410 560008434 512475311 447055734 644385101 855919668 871824395 340202455 356031631 795144194 424874583 913617600 167785230 739844538 868457722 594330159 399855039 479807159 248551521 824501607 915757364 761931603 716708876 266582635 601262754 249783575 174651234 329742786 583590114 863316752 404837921 847779611 821956516 945032829 821317035 236070409 234527508 988922653 161768151 638950363 176343616 613233021 618879703 504364970 334980028 261340975 188471080 494311571 505546208 776709367 881974099 240057733 776051169 825172617 792423009 756794959 532005015 253617937 683894113 453341024 528097173 751381706 122121586 329660834 730266828 517265773 727096464 974339481 241784042 224287980 746244925 666722680 469523542 424896632 151996519 249334483 487681301 192068322 389457539 971791640 665315109 529636468 194178079 485284471 978347382 855010931 997994389 391667912 828017176 982678724 921159428 228132521 357313261 359682706 746900375 478970887 259366449 445529055 346370997 333171320 501574238 371896433 713154529 219317119 149220577 976627227 757800572 390924699 574369022 489903235 111540403 612889448 906552251 160814015 866416402 230295105 561292691 178661956 639191893 296996129 533159316 667671069 279681907 358218942 224466965 827643499 206980437 380902619 657091135 893350634 783884097 747918009 407985893 112926196 883237223 984173587 492232921 632243534 688415785 312435825 448620894 104091853 777200354 982580676 963334344 718552570 117812953 925237175 973096766 269291671 259241601 861799462 189235362 795987013 770428220 241192553 329409998 475276693 124827096 813373798 220415273 423126291 742971235 990562120 319738659 215826195 955229602 819390557 333101234 741314350 979000210 642693865 182631360 228670052 596342135 413170755 656613031 658708271 621567621 272991481 369094601 672643922 111187247 587810015 664797200 403376526 139749109 389478056 213248113 212829692 717334224 420092900 167239370 231123425 142630834 826576664 238005133 601665850 402325694 810984630 188845432 498395285 194576139 280608592 937212661 556440340 463072244 780477330 223780024 448006022 873364330 389625013 871477792 173201197 161147691 915195199 185780064 643461385 509737073 574379957 337766119 113874158 350002732 817848337 779613584 164085795 115487123 663074569 644194712 790277230 475169826 954185093 314399513 273468829 797969181 190037059 446220657 320702672 420055055 453521638 514680188 901209261 606849866 164646846 520637284 380001879 843201566 635990074 699186223 530559015 776473899 619506332 885440897 543181415 842568381 885021773 418065066 318182634 412140629 454094354 828927493 268359318 172328446 585180536 203287873 807612617 201698503 374363882 809064408 192668995 356493062 383154069 551444992 682963239 732948726 400881347 707829748 170391988 551753607 772525177 390523591 254562801 245383058 397520966 785740195 477107135 570852331 615096947 691985897 531552915 947179921 856958291 212342326 799565494 232391847 186751234 555126406 395767425 927751851 408971390 439077308 462352665 344188113 647062247 312538817 753128855 577096791 263555588 460646223 345197293 368600730 869624966 952172726 448580069 514728528 659244979 429928993 819821948 861497813 709379978 480195693 384457019 617050851 250278518 513781273 616668263 100239008 616983897 137517045 828148715 257197604 547218725 419173678 217332056 533520805 564762679 249853558 812717758 830101498 122827569 202366557 622874201 226582009 535706340 711240261 685959762 263295115 764911683 296919404 524100384 197750319 596005447 205159690 370487612 348822809 628298686 582988799 213372638 601663509 262576121 631417178 134232859 579068646 644747935 871974769 717504205 184129606 188352115 773580665 549675064 986578069 425382164 539384280 345834675 450540317 319529559 985582290 309946938 365286088 622131072 992514352 882737339 860691208 308761148 172955953 952530002 259145355 804250835 539151091 909361112 142212305 950452162 412860248 969158284 892679196 184867667 791781697 274197815 222153102 589581139 455410168 697634400 625324324 687735312 764375520 428853860 286945904 481565074 867843320 552420675 658598903 546237869 993908404 929932422 450088593 640120569 693613562 166923779 468511750 935619524 695859985 601872785 143029872 274701278 231652775 619306763 972055693 248979374 858515931 873352634 127848316 578900415 278800503 497524979 258127108 240288736 604188442 982493977 738999609 570295556 896550350 774062875 265204435 369262316 102028726 427324302 429937422 909275985 692784930 549953160 728018485 536837894 991289417 770561127 691271254 284232527 987236520 999595701 960843240 427212276 389096828 441912014 645160886 659206677 420145348 181939079 427236080 719907910 897399724 269199673 548584366 519195162 115015716 936876577 552389148 952883500 306238814 211118338 647409002 870979635 388269511 859484434 995645332 163464402 680585421 852003083 207345015 389133375 445790441 445862659 944523711 881915497 642419773 511236527 422846445 561189666 142857915 554591760 524700117 329801128 544958519 129476447 562390402 500523044 421474609 814185942 558992753 524941373 172734129 992393320 123658030 481199131 717986801 354161077 327436512 867518241 851670689 962786305 586363944 937056520 732770383 671823911 825540758 688838683 125788732 681218332 770537744 401285099 284296742 685103162 389491703 554605992 871442244 208515973 481292806 190205003 895037145 621690333 538797738 682773555 973944808 934497405 901865306 680068854 671931897 740554151 681599322 445978213 815733199 481705993 965836890 607234893 553841173 172350110 925364773 281319031 396817908 720126306 917341837 445737954 944467871 996245449 822536862 632711584 426853350 843215918 229231233 963413199 378776656 228567374 569291222 557545914 126953614 553005467 939247311 578025598 207328570 207090459 356980519 131796007 376533850 577956900 131441613 272873416 903340171 657539496 436732545 146095468 653186778 327141028 589939394 766654090 143480610 512981829 337719440 273623145 782001013 679942411 442821727 905944735 821605619 969598747 374574243 418415103 465914839 382600722 522524994 433754694 900366260 926257974 809231225 496274975 633615531 633242438 775377449 877688206 599204421 488944328 564870822 357779658 103896603 738435174 345668949 921511052 269539171 406697324 583146308 178333143 181073879 111849519 706586844 981982800 884948083 234939856 288003509 702733244 839384853 310404303 749042207 735265513 797030991 836483398 392315168 306334333 135786387 480381494 491723328 373583666 132422102 972556699 902244487 492522827 595080158 560615309 719981067 376635754 580212897 100800136 395981789 950550175 602895860 556407479 846774458 761299616 100916295 141911905 987821131 782603813 436997733 442407994 362814211 417373019 460159066 292109141 342199134 836227132 325416295 111145150 413457048 988606180 194271954 474078406 742615726 428360879 791772540 738818810 381554782 532934888 894996040 950253435 348150176 430965602 432526648 571388766 780206119 228104973 976704937 995301540 476895348 907529435 114337048 717875530 355050721 145527795 240049422 513872075 253562751 621673112 920913817 506277973 769031535 230495310 463381365 503043907 911224063 696111031 613337428 218073720 824419404 689983666 734184647 502985418 320197929 448017893 623620579 915297367 949560078 525348156 391073183 448361263 259437660 248836076 697102965 842824558 721438312 653777835 547129747 134950862 485199156 812664057 352958106 886772376 760104662 463223003 609282154 507133634 739686917 660689156 725752208 437384937 624972314 135701546 708304978 837535407 752755125 451433024 273956790 252186357 287667177 364669539 603799089 652217949 348661609 520987450 838557969 814044466 367768223 439489699 835289287 260783901 435244880 353585926 285336182 448573224 356897289 791893861 242660309 536892343 507447619 953078146 251044955 809645509 292215087 868277954 360121747 974486226 948315728 168370924 718820056 526359573 935417558 173080201 385910713 884676152 958570604 590430847 955891071 521279027 593208046 650534340 676545811 668996550 594153092 167046181 546868355 652911306 920868063 169929482 920491165 134660320 175211741 570196695 792530329 315373426 650383720 795087691 401361768 542028352 762655928 774572529 765344063 364911001 975411396 677301089 701599270 278392713 324436636 635970650 393799310 360729913 103994085 337745734 508700565 655224007 181241201 157580076 247661677 133189367 578738056 663389014 386949945 279887131 329426963 356468525 893093748 950048981 661266694 118561971 851967673 340097065 765105558 676872325 110429047 427989137 125051478 207803271 507805110 700733396 215544675 265401394 664781600 793048030 511873234 605675180 373152258 523798847 611182835 896680538 510209655 743429899 594012757 676804423 327394139 542008143 299518220 598309048 132886050 265146783 231649347 568852898 581504875 307837964 553650075 652946589 867674680 580691232 876806038 197142164 956710605 557986506 666463021 734793883 267353785 585930217 597396196 681350627 977345370 421130802 515107915 377280433 218596464 162029819 156132270 881823195 650738270 423856907 963585794 385536327 313596945 826741107 711194627 102901260 120497224 590875460 932578300 401252004 679062429 332159165 783514094 685100854 826724930 823689881 880548010 115904227 299976399 132951979 188954746 835937780 104244614 383754941 822918999 644525725 701924593 263093611 725250371 879475130 668671866 824579676 462885940 578693352 315439107 196772130 632461396 443236788 346025279 230909976 512136868 612172704 236129508 107024803 825812692 327538629 740047647 552837864 450323232 814733734 773510773 748492127 323419939 630614076 351897898 594596801 916588453 814956720 317268130 450833155 882602934 988902767 257454510 807861924 518043298 395273134 330268815 858001719 764217040 115074054 435701319 640674184 553227199 730025156 659454142 241866517 438906466 766233287 879757922 405624487 911760210 609745260 657998065 241199062 316593845 934399644 150321175 586452423 205540730 487122952 689662757 506840384 779593461 995633123 619657999 988903336 481891820 620478634 781340236 170842354 117706720 796380701 840824511 230760004 346480227 634996859 978742106 375682306 555180740 589680765 973629041 113978376 794504470 599992614 699045022 541112529 759148783 952178634 349110301 783881594 836833869 720530195 470244889 473711134 700128290 606658543 104973492 414611116 444042377 362802710 665388412 282389068 702720486 629737742 809433441 512116079 458155920 756304039 671601440 894395213 552304481 128926718 501501610 998272374 424249742 838276774 390215439 745211841 844816534 773928986 131194539 711748021 406695934 685691294 584028900 721345578 934516270 942046599 988154857 228919609 796543624 602394689 583175201 671281594 643900517 362691771 588454974 596087206 699125165 241409904 751039381 499616223 584952251 819469223 278748679 527722669 759345806 659072388 477349651 471280556 413622800 776377662 398170219 692167593 296596309 755139440 885668575 923161676 457350975 261404076 728607591 744819549 919421827 110585629 684703611 441987569 456589673 532173533 397909592 911705162 399064180 260219989 888313219 502750534 548077359 995987279 135730872 229688033 784309827 510957760 983283933 765471239 121163822 733071810 978195812 937124707 827044653 997670318 122781351 246456084 502136625 731426394 415758235 465863203 485123512 714555579 559474633 637090758 698816586 514089818 687039651 728514006 626212381 457999727 963197420 188378341 470605700 325150329 938491325 598916136 343302858 371721421 236230468 311601984 649266893 494001801 729178231 646999920 413066784 653431529 129316424 411141806 868263480 949230244 533326600 277221392 378558015 110623569 760323562 449803729 914570275 536835219 177770076 432074695 936752645 837537595 689212170 428464511 818665802 164292081 936767385 911526081 676657363 109885297 557266938 888698861 877644660 722737296 202099764 111672303 886981674 731296090 184949339 379382856 632065280 601416983 194979162 269466823 473998898 471177392 698781597 804857266 645074676 863457969 708116178 853347630 921312113 602723506 247966644 380242099 848572107 103936040 121538517 945046384 981518105 632762045 135634882 517145425 518893462 313656926 908149686 813353567 378314633 360689666 130581783 475173311 330532459 652902548 828005895 599462288 884219692 977745030 329753557 988488852 617806528 510930631 623316413 792246164 994299355 289935979 280261654 296215031 682890623 121786021 140087246 694398352 632822655 563425756 790993694 857312553 410727359 841904300 100280661 779220057 343508372 136636135 376960199 364632795 406872308 761789533 765159180 716045361 914886789 690317787 628605380 831987108 575245711 108354956 287043089 971079624 410136856 165877253 121258643 336314031 980898014 456273660 683393904 264769670 761041264 176048844 149544694 855259060 362244437 455803531 462372562 367192536 954000250 429699137 777913057 793438170 541894250 822453831 333335918 811577407 144340332 625788161 122006565 262636841 573132827 825095435 312868867 838702220 306854911 292709523 376035315 420161818 356532936 401259487 835323471 540302553 929342885 939500522 888432492 337952847 723275493 276416107 968003006 616666821 471676602 554334443 273095360 127206746 951897946 606405984 110214917 887640046 432620675 818310618 758460444 711323957 508493304 748388749 847936227 845289460 262657840 670458199 623355826 365218301 635236910 647383339 658817768 199099013 205476609 821284878 890912499 322118538 411245737 926011103 407971476 132292705 407103138 768317197 940269364 317222877 482451922 987525185 802047850 751851105 238479074 220624815 646457519 577376071 661709453 468837973 327309323 221672914 668987903 386224283 480811582 253417672 206408375 694241239 279585020 894252624 627769212 636997785 148966085 703600195 908818366 324490691 687375318 504857751 934891543 457394970 963661510 118312642 533822903 730592681 467722712 910725471 497382176 581515360 968820211 437369984 353915101 402213341 210348233 167313399 376200372 384128870 892667590 601411210 307031126 688604457 286287114 252231134 218470812 266608591 557150388 830253757 484620498 700860881 831101660 240908974 189159679 984737318 635843997 916210132 624109295 139034299 527199926 583168570 683090854 529659217 935604932 550682859 630254539 155918677 985083112 753219892 187584004 645170660 365910067 569843733 371750688 678060621 584759136 712067175 483401989 918665752 769093347 205582158 336153688 270252421 646777513 925001371 559870422 256937895 103583208 223776777 960413790 596158625 828215149 673555781 827927214 716959571 478665388 367473965 152478674 964787222 469287422 175896309 284079559 454792771 998803351 499569989 615776513 431856459 386507197 126772729 529229083 875294871 752661244 133709710 526820546 298096312 177180090 706303414 932106347 382803197 888372206 454011404 629518076 293494917 922518273 527865265 846746792 128382506 557636263 550159707 401608588 806772083 169108828 231544078 438879994 685494779 509249778 534826684 556242007 429740439 858344159 180120807 173204161 850545903 765758849 477750268 314939685 332953397 331366636 155086639 503365115 221125204 503562807 820199211 779470259 714293814 864396505 381144949 106429573 771034143 501414919 736827225 783351620 414304751 907306813 771910266 291749831 431448755 189613203 520667102 681909956 815756277 481040602 611644078 543762807 454795793 353382641 943840728 824421910 239291062 894445394 515582086 699150523 497584427 789269978 323293713 488227378 184750595 443475723 598996120 266152879 331292536 440511172 410758320 752797114 211695781 322970962 577763916 838012929 175187453 864172065 541680146 854052319 896424761 260932447 731515179 481301729 105423618 252890978 763192836 604807141 992007382 639400322 119453684 703886114 751796324 217859096 356272706 114597685 811762620 556877452 828072262 370466538 758403221 717507025 906105576 726067777 434602495 212102202 152727663 232763318 902116949 472659251 462064318 775329931 567794329 907222862 792840574 324880982 477218167 990608424 214110166 527929875 762988223 484057801 702976854 992330586 732880952 800510827 233782728 360647895 736430783 666457530 113125343 950506659 627092709 774838292 568077093 161999233 618681971 503370093 410272801 348032706 990788978 888933405 966624950 334486771 869010121 730769945 594097772 498629687 430152058 465485182 356744697 303387963 126145704 477775239 655014615 488409462 440650950 471474480 339134379 221542391 250583044 713602435 321614882 821277784 154114798 993549230 346269010 716807578 255390773 852573960 562168786 596405914 920102671 245606179 505154654 900043812 771004239 561300906 477041614 609339393 269505337 743700577 993518726 539907046 973822152 752172512 597764665 292046684 597597040 673676329 369870634 822714879 525417123 246621103 246759163 950669566 286000187 169429351 952472550 681577606 913633335 662868842 959358201 484680198 428554922 337587982 396200748 143659892 952950156 981123933 998496347 941732657 819283373 471792504 120082641 401519902 997014407 246602338 846003469 517416559 982288775 239420163 295553809 822035530 822963883 963836151 494537666 435505016 588914712 466516781 916399893 598946896 400998665 319659845 366411202 237884955 112479769 953704168 926877562 871432214 654898292 405489394 227535675 982422505 577756640 837933305 942021850 322433939 939761266 879039987 270357525 725534285 116907069 571034949 322361651 282660486 410834456 826603795 535966302 801479661 220108276 428912922 219153411 345162188 682277379 898761826 715220417 229678854 364441687 858907387 377590415 403065901 686804356 440739020 219553035 219110655 115692753 923042700 806033111 613188232 649897774 476558927 228629397 341650839 516846139 571176240 878415523 511253691 833349905 836154137 929777692 166866191 381718402 259798758 355087317 780889353 472895509 680337175 347679747 858697486 745485710 164675550 632639581 757431224 165617902 459606955 170802288 305158056 420628283 114768434 535936576 406166163 647437714 963696350 323686866 353717608 462421665 916063447 975998811 324601124 319676239 364463729 925849218 314912386 600383218 699599951 740839580 789078464 624059308 862537109 414324243 610726130 901399034 131005611 704218028 952689722 756130944 782254300 803735965 534822112 255942180 830681149 121689096 247380558 258605764 522775667 430482488 720442083 525587384 989710889 912808970 625816115 872806725 323685467 840211238 716458366 561263577 180565826 545095966 886615162 913157202 237034517 977850304 521473811 596977660 257291764 880622030 662381407 934809446 189553637 470769989 638849206 428012939 529976834 930582116 969527562 416040255 359386679 178003228 852753015 589315320 538137291 601225150 473331259 725368966 216048918 995704953 255039290 957387734 194043334 432823490 121098330 861379032 675922316 728854530 335292748 218392434 800243082 264144472 784905742 618997127 392478764 417911689 908459623 272456428 515715142 896182918 232995787 546705221 839822727 815448619 636926800 312295847 552444032 209095684 877583965 495656437 583885619 988028265 684005337 110576182 535816344 594685050 988726729 513326366 860327901 182320361 556684432 469849042 664035474 328624652 336838657 481899766 761689907 713715501 487109916 837107406 727494068 203265911 684925141 823999638 659692206 400316165 607566606 145186572 259456155 920027691 866178221 469801673 619195674 752759750 896614004 740091449 584548084 237016145 738387569 709265296 464656471 825177206 666756554 382089821 457288444 487986725 627096837 972926148 736458882 606675712 896855518 974115782 539481285 872447407 162331980 404139827 530202909 271613066 274558912 472903371 447063131 599310673 951476959 521753114 780821768 653159366 148225902 288246232 424711409 906933042 913603625 955020732 579347055 744185882 270898933 627704695 968944644 433209775 969183007 346191096 459259593 949598349 457554842 165567493 737164972 601302412 262336419 143765974 912647643 965859684 220113111 723835713 823461071 400802550 159709133 150880148 248107597 321203157 971763498 444485060 830036524 381960089 774474451 279956805 844716687 849437267 226830393 955999090 388016813 245057578 270897247 628905323 999065086 115485062 617538369 293072244 768089915 974611854 166144564 556105955 590693510 594131408 145499481 182290844 194023125 553333490 209453225 741862230 442755184 837175281 148754087 753139777 337970886 473427659 534940183 935066558 305159863 255740814 527154246 980386801 561614698 291513237 899287050 453808102 294102098 224981504 935206102 897510275 335707318 779866936 429578195 884390547 313453049 360816645 111426944 292327002 546530968 204821755 929853181 285993232 259221120 530889930 703033689 423992468 335881452 869181065 912640823 614620319 198003121 719319962 739848267 679132019 317446507 581596337 921511437 288398512 421967022 543709769 660472630 104051957 544629300 411380577 886854112 926995282 489483740 839832960 110869801 444585167 114471598 128458966 481741268 521765459 294737945 372075011 543971451 579090066 350585275 857935059 656840845 168150962 887124769 712965380 976448290 492458216 501266100 590338805 226774838 258405761 616490677 894169749 880686739 634986172 403817891 321746978 451905467 263183589 735241249 203899370 134160135 785127546 779323169 272208059 603395246 444107733 550240370 635916216 402336572 332007945 627240846 347545447 987496840 488730060 446848807 690271613 781762204 616678068 652877507 778476176 598213185 434004242 292864666 912782473 219552277 477379253 923790634 717090191 637331298 620888009 492762581 345320638 813896494 337248380 593939522 359229607 595606529 435630216 144462800 499299133 666588640 317565559 775441046 733554897 965821470 190173063 274984940 286779590 636179442 430772360 878084846 994538097 802630685 284782161 660997971 888911235 362091207 617658215 925945354 955442080 290597418 421857930 866429895 902505044 467250428 859060129 659223584 540034802 723246050 451524683 909483455 677260130 570695655 241996848 759694432 179857901 888683474 587905065 861175476 210103051 203122453 603339843 662303485 315872992 309304311 364654544 173528651 980440703 584586450 853738358 717356735 846574716 692029388 235068911 827933207 574989733 153595613 891293541 343681749 778639376 733283189 551912410 791625122 346392864 929975483 309634014 698322454 321749319 708871973 677269053 375597514 616356402 706918888 144689083 245164993 103066497 624288720 649455543 458585049 396612517 233424833 670793374 789209948 724488553 808112386 379231069 310394851 544100065 428082375 735840396 558141046 178727310 238498995 423974257 268332665 485882981 608056804 964492414 894928642 565617110 167103115 393157763 643068799 751810778 664428707 321198715 726063724 384780607 383608311 357906129 148392885 477128269 222842835 633978358 762127207 959588438 454183156 482433666 543877842 110483473 957802573 677187480 910936755 380973247 284352307 653457162 446696106 799811551 860031471 681276481 138121544 207438396 365687959 756124835 580973919 451730941 465571386 851600596 999980000 868734465 181049531 462840303 599593355 216493944 442862713 479647437 262569202 255609092 424844534 679970185 299210676 363992832 848199731 103975511 936132634 974933793 695939483 516535908 764126929 812446507 807202679 111692554 875246441 757286343 453720208 619573563 585813262 655387893 475859853 487591001 643998932 904833280 860904043 648604303 307577835 705893089 215950855 572875249 580505270 588955518 762515823 511966401 334287347 910329178 280190489 186241804 992523011 135151700 306777549 776555223 699224773 374622226 670521309 138978652 304697887 768340528 896437622 121349652 150549493 463386913 999174531 847343593 295019287 714378599 591881134 114495586 386095411 983897358 639456636 999400814 172979213 829966299 968819548 754954516 271641207 535166133 911760589 742722463 816290330 324461659 835233956 121634819 470552382 373402858 360082824 901708782 544269318 375289393 401120310 682082781 703107611 481673875 569406131 634902380 664567205 782290407 896703862 204720307 159079065 226810035 124794964 518565185 891511165 448227599 704153818 865621330 457564916 214868779 738348501 282040359 626143012 572356991 382387237 474508765 951332449 719057309 277541636 738706190 140088243 744674008 130643458 625757380 163633694 125881165 161278597 793376633 556838789 891322671 569037654 920695158 394509934 193894984 475186148 586177819 519412471 896229828 954510930 599939277 278743418 332946010 243288605 575865766 298481518 405459839 254100545 523994750 482217620 259029041 468001356 946874077 317966365 102122028 701834396 248961011 506678602 459475568 532014213 181793980 171070724 934443711 268960555 305638404 723407894 421649803 746171842 222202942 433313443 845227284 195371876 272461619 900516821 123720183 155817140 819786274 795843028 697171509 460084868 358517101 913905398 860981418 421702923 327688234 386853178 155427586 878545082 539176949 442417708 764731958 201888228 507338767 650604848 973112224 175192843 952664747 403165833 525220302 909359852 425561355 910209938 726731794 592650849 539775626 418016095 236074697 106996971 493746977 141995435 539230052 299917876 600984741 333803723 976789814 420056430 481880739 320454393 702480131 725341538 540901217 842081114 499532116 687031109 616100716 562373414 968209096 865020268 706375840 140747221 571717096 954825771 480875920 735909499 427661794 414261806 405541031 306392735 236036250 823778236 388040839 656617300 359584966 804369666 299298015 505990845 727166354 216372684 810189324 733144310 886541421 199850102 880547265 624178656 862103161 271442277 464948214 528964179 131002522 874310885 662469128 388217490 797177101 400977883 489574036 194602125 958900872 508554453 539997912 302976438 154975396 604228219 150507481 605200867 402118835 569470497 186839085 177301176 456689670 947868636 884357423 974781013 270802142 824299508 521295028 333011725 521128288 109900876 941270669 905351149 990511344 224733523 649546931 285346195 534513690 354696283 384043527 263410855 426485863 109745042 485731373 675357402 377916405 190734924 211420474 184884827 237111637 266814558 871077399 340170518 661867289 715950044 307971273 768258426 365364005 154981775 528706169 928827919 402517399 718630450 189108522 701620480 178119735 482572069 206593590 126045216 537412258 436744799 984248063 274421298 751318204 500805333 352841603 172145194 484327427 209182275 929483582 905756149 378192195 706344060 147840488 128629065 305454825 361408548 975493187 985670579 354501133 421597199 938393073 765507129 471845783 725881768 735929173 305920825 565570011 395659942 520692738 649818109 859532678 452701756 906124097 175106324 240701428 626204285 628915550 875504036 952354203 634743285 314816684 851868695 116862963 216384687 197329831 687381894 465851757 271070448 352026928 419989555 311675375 654075883 737458444 491607342 809157960 302132943 861773167 439286845 897626216 399489609 768350266 776001198 596158017 512989799 387927981 162437543 902293584 802568583 512180451 132983391 106544293 135361731 262132090 788534325 735521835 520424754 884496082 325916281 123502570 304523411 928520832 285290234 345349153 723923572 444230570 422192291 577034474 504060156 730237110 118124985 967197244 849840589 530802565 442508156 506834645 275511758 350207179 247993293 108234326 428669808 958328486 207298736 423660185 796457940 122567648 962876943 854430032 814396136 507660210 977489348 352931880 367060816 973615126 337652263 864776745 327982380 909484360 224052894 853931513 759371333 976270796 928064761 403908611 421578064 599661642 332760205 981458257 328827492 667092353 132780688 750184738 643757023 394642539 175211377 429250708 843830727 945027118 621538425 714088766 477956152 193928085 364503344 241719509 751157194 959751859 599345775 998752227 131301150 528274208 418080565 647569507 986815888 975143585 140324430 418580431 420324324 269714840 636839713 642711081 462330982 386733138 692823841 407384064 703041221 257957998 777336651 890644200 480806281 871597432 307025680 277638982 456074979 873002592 711750031 283261849 990384796 747596161 344155012 682257829 667196864 898615178 161035327 578295064 964717716 897667610 973496009 795629339 533962149 755084268 404032831 758689476 723061075 920066049 916855586 730683220 668978673 222684077 989105688 825164741 661916091 978539667 126569387 419096459 995453640 103143859 770698567 817878622 666386309 929998813 970788059 138780361 619283596 237899683 301422191 326595461 270290041 239628712 639004132 822098938 266437938 253310164 808666410 768226486 189009925 862353315 517795483 813356053 317400526 769787597 821349588 766382380 930772060 502351451 320929834 838848821 829242763 433436068 583892698 332186336 958961278 618318868 822226865 143375412 561867668 113660609 724029459 967990226 600972681 488277621 718438084 863761036 588816203 302220888 356431027 339639532 946037141 687432381 879403893 692608648 422937718 310607323 262167998 721930222 793018193 679555378 577070128 763580075 670821224 654938656 354605089 409067914 458420923 807342781 553001206 910742716 251969954 229065506 251548367 313933530 200926949 357519836 718250355 538714247 783597004 204480850 507678050 914981262 859276864 535505696 708470540 767586339 105861134 114650860 979890973 578913257 395293116 415777599 541530182 913297274 457427511 409772021 539152569 277445295 231975251 716240589 778385563 183902786 696508593 788459783 763122129 819640866 754831698 244790279 146739266 454326618 851955962 335613314 349616766 342897450 294243232 286056810 144238775 954064104 403610953 706344088 159465949 492747429 181881076 446115961 273810490 969856238 176889131 285007580 825790158 171965071 483383100 827118941 815306974 989698356 805639019 873244375 487479543 847400467 822165453 947969075 565616185 604517872 916974304 329389725 195927803 296888583 283554153 620127219 609768420 294289511 846630500 392101819 332584005 199879363 843029308 660404128 940341510 471906278 766685831 837577831 530579118 438202955 175147935 415562463 297416020 290241191 340432580 489566288 113319982 810077838 621663258 607130641 659677242 259783643 271589437 573508899 592332489 371314783 967441360 530739620 791989492 772514527 490736989 657327151 469875519 413658992 259255434 935284816 997337455 847361233 120099275 550559761 309231754 490348560 470692093 906186273 962114786 326069921 350392210 979452674 851425026 935629737 294692007 766127113 294506321 261723204 149627888 310433879 694074580 138062327 633309793 192585143 370556535 931450550 538798140 828084332 267221947 270386886 545358356 602866939 412306904 462600920 810888710 217473845 870732612 831580053 390678463 619478020 662972815 284596342 264147230 239829635 364824879 997788763 643964013 182040831 836545930 887173920 402849064 780743191 964555562 700286055 338494511 991851213 470737958 622624913 609058114 313841393 470148594 147219077 225747625 523132576 744152084 475898733 626981862 859309357 356331999 421464952 359491209 686263019 167546724 780869889 426941592 748405030 345281902 853036119 717868901 583735914 551987066 768628752 339404256 659645548 160925564 482026649 575333014 721044887 415953996 167503564 814174773 811682876 727562448 369155275 835438153 913435510 292220696 665289704 581155541 409272254 872095469 545459310 634016228 827120219 548839600 119089872 654575192 452042137 669768262 195723508 763082746 907300012 540636177 547579067 514875461 711599081 443986641 947073492 965205795 793750027 568599790 198885211 415273219 918129970 760713095 331150671 350013143 950378209 902394476 646697075 575748522 144559225 697367354 834359109 969050144 534650233 620826743 705090728 111503180 172861018 912205859 609040950 411654481 355698938 191090027 360806244 567181576 219038821 628482665 951728960 964418721 905324744 363278237 737471527 195501452 490713894 562296995 165568722 320744694 254742226 721899959 699145336 280014542 375312552 725107473 121733170 893852318 729629125 542635514 402472144 998526342 186197372 770573446 937891837 974325598 251694250 441767056 190969962 957639530 632689456 753090336 369152882 490341200 532533003 954933964 779104058 679581184 934560434 120051960 455806930 883600175 881298917 201190052 187093785 333195496 233001135 704004240 655587333 876728125 624724993 550939728 122575794 287552249 596058750 425842300 338380844 706659995 149448973 675141361 940556202 597007620 131414277 763659846 922722240 865272038 405886885 721441043 884054878 405085298 924051045 972845243 620749107 593636591 517358056 811148167 301196579 762584991 934616085 844784967 137245910 580624400 674793327 442107300 527910695 974306589 901815434 281526440 253720848 470166576 637422867 331955142 460333847 199643924 913139008 325468407 996757391 371670784 353846336 180814474 196837424 329168732 490609952 273803444 122632211 241317861 110562035 137936216 420171731 658306649 194635893 646781950 322923022 408407598 697954233 587118838 236501823 129395003 907782545 543951683 251377228 190741362 835229431 408906013 648538291 839441110 207405521 592089028 647095909 386307578 853074364 596452927 979311635 537829421 131922157 402209298 560738310 127996583 366608760 285549523 863904773 515016685 523347925 889870887 690522116 571179696 856532940 834295008 726041719 881659559 382976856 162532107 171056716 698833534 508974268 351902880 888567727 928798988 461711854 957556307 876140961 333593139 717581769 750158910 114947765 706519066 776835182 450692057 558404344 457893487 660844650 567910302 544526100 378387313 678349021 856453143 107458231 251408986 739355252 243520239 660747612 726978066 287698388 136826665 952889359 972340520 574724190 732097890 251298102 266772102 227278363 815618679 752298002 995668126 590069739 191195992 840828460 268316688 757823584 634746587 549303698 169288392 438642562 541646245 976875283 741442883 506681467 373371848 649408629 594552790 378365906 753014900 449392924 143817649 882511240 911826040 777729627 944299597 688555113 106191542 959566980 742102760 703923506 149034539 790881587 930853574 384577641 943811702 732884801 510970920 407611484 802055441 545051364 432734941 782803478 836588948 607069888 131377017 147486418 629210870 312326365 603487576 383251965 204596645 230655545 207793018 740929611 488938902 974758647 891049929 695065635 102879459 193143504 229417512 395184857 188475086 399918165 315139063 520841798 908999514 280914561 878822616 856074397 981543390 389387899 781148481 205071571 382317223 245855145 627222146 839637132 566986879 865693653 821268806 544066116 494528742 764144727 500285962 387392337 138655083 690878507 234542053 776337533 371190718 894299669 450795957 455949407 972727250 962954256 389726341 812309725 440622944 518807865 367469456 844714388 375223689 739303328 740495239 315814082 743715672 972735459 833846705 861999037 466246792 343578869 144211996 668227745 987989769 166902168 985020138 818911261 168892485 805625382 848352562 320929577 316158637 506906172 631256661 616175767 431280190 902711883 203243721 576815259 858445510 792155046 836579711 332047941 241378503 954100658 994006108 565935533 594813223 801521175 865498773 930548663 580649959 836671694 863842506 232747088 433867252 390810688 291068142 779100442 322212720 564985476 511845201 846149962 350989265 820785452 198309439 419938945 114259912 334426725 281798229 171888020 754800474 551718815 761540651 109660507 390334810 317230341 588904829 338267833 861275776 834060950 607836499 992236261 546431702 301569590 723092274 723127669 252062976 662648120 629760023 644146690 196495954 697034388 177126444 453476514 823492475 175506526 359572960 724814738 642064992 850460126 492146560 722527529 160425072 736112822 316380827 171162841 413665440 902091611 733096223 819752798 508993464 776564493 111132891 954956010 306089933 456266254 821818097 978279547 907199220 334331586 200952530 572401459 152948211 821692571 791009489 284156730 754632223 375268009 329391932 444754657 741159627 539888169 124090830 511523052 435206406 724940090 828971306 104185086 659107916 305511748 149189602 716793244 765716226 754176336 670912552 234113407 585350395 539038962 903544010 518907444 703334457 458649248 198669659 432990729 579038729 845130797 754182596 437021338 705291372 113272677 583247387 782421089 285123842 638234131 172677307 512609832 542878527 415335794 474739587 975633791 598924091 162771440 747226020 137151523 793240900 571113050 580069067 594661746 273138290 273014524 934668330 624244266 327401289 411963352 833295752 947719175 474475065 990759523 634310238 179516187 425713094 341620874 236324965 706188113 240584021 981560287 235340887 164587746 706189966 875831945 751275443 575637092 842326142 989570074 906143411 929361101 290495342 774837872 551387433 341860817 454352210 455602287 450916939 108864953 907490625 217614044 719740224 949050567 451647616 569673364 423998874 921701339 976799768 140674694 623438156 306060816 505885427 497287755 985939765 274209216 249403718 645785507 701138028 373708556 438061593 283532353 860498906 435155062 689786010 650323816 536289221 157831781 295594704 162972359 510937887 857955779 500480917 864415432 126795066 417804960 901922772 618574532 855100656 624627920 416506842 566442861 854012422 610687876 174875374 813720162 643183556 477477937 172016219 258221106 268985899 707260504 120865716 343288252 241223411 411401884 250542884 757862198 683032852 401278230 675291185 764347382 785770862 939806050 283273118 174151214 113348469 200428537 175507712 541124118 660509360 982024958 715660143 256753261 527686289 353695687 517838271 531835711 955182281 418575802 950646252 355183007 566646653 183134282 333451154 720755606 208464022 582184544 406343037 683888098 492311737 707986367 640327315 986147023 836125438 709257133 987715149 327481142 245168383 638903567 643813922 713767921 604387935 779075376 415256547 610081266 915185260 639548133 737868399 124019204 698896464 430466741 915785785 199309833 874815089 183966239 928392171 789820912 147770460 845987563 179612121 412537951 781967170 960277752 490801467 380913311 295992112 370216474 879016912 609027621 478034538 885363220 834853323 537879386 608663422 555551381 757828304 954492451 580956450 566443068 452253848 610061091 962308432 140611206 206815112 419033406 362002741 673548147 846299800 237403698 844024880 947180717 809620156 800912320 941860225 994543053 565001639 632963992 262740488 524051602 753444952 989368197 795855400 202110052 214906910 369269070 116249891 613338162 920683236 364454390 607058697 834057778 918580987 793119299 294271558 884897611 560398494 587202694 538940814 959378694 935181908 471672762 128027454 152560932 781178083 329300082 820339504 566388309 303955016 586984121 326473578 337585741 654443611 100767304 189870550 524324347 456494819 354780566 471001806 953679494 768225620 631680743 288255968 780817353 271927078 557051681 569682078 190471464 748023493 592271912 998109444 575238047 217727196 930110020 816677121 293365987 730125037 957790284 110412358 176398156 467050025 109864948 490671643 627070186 929142793 404519521 718522490 612787362 463859432 987789238 166941895 362569755 979337956 263014768 671454479 594295171 422669865 396142579 584972114 810246539 188080254 864219713 675828360 759563708 859512452 153700339 494059893 137609412 344483669 383906709 955617235 896921786 352394595 742979158 832667963 338999844 592151184 186740091 336259876 671600069 285503599 152208532 223253866 501879428 808664193 722180224 331768345 184159127 584019032 826430326 210561045 177394486 881023161 235222969 300748504 665943135 146002565 577896420 498171166 731645305 762636518 626384127 331611074 357502431 369798852 118276469 833532371 834911334 474376292 749391822 204562137 130797879 997034387 810463166 209449803 920736384 761663565 938456533 266213424 528249971 861284890 361930746 535572551 192982232 325756588 584603733 783860757 660140528 248003270 465721229 368631805 101596418 265142150 283905935 174827524 197652606 968920604 606252418 609077004 191503638 748035884 429759250 874245773 545041617 389640823 151425071 186990652 647000779 348483422 184207025 790729526 103265012 847589583 349548817 801635053 498691068 590851246 841765542 299085153 661888779 117688923 357645480 882257639 851902788 405485468 989787213 281163317 905786653 323039688 831694548 862248353 400606391 282788931 291780315 979389990 914215719 686686711 939604817 256208471 187056403 384625509 322613224 414092823 168443103 600415322 381456343 972834354 470212991 451410167 507456731 635772468 430370934 815273478 224094680 806633975 194667876 854598618 316555129 885789288 466891200 982815896 865465667 467214621 839032218 167715190 365723422 393753230 689152769 716740837 895284660 770385684 119186936 173911970 814673096 153167534 878395704 141145742 755516556 237316981 375320557 457630023 883871136 572259868 334307037 180224119 861446707 358094128 935764103 500212489 669314279 809508819 598425871 814320042 257626367 148545330 101495785 104254501 191470214 423873082 111536810 959540323 496414729 300906812 713947014 397085367 299132444 377348321 496261881 569974449 933781901 709439927 560229668 504617888 656752798 475290895 749779204 432796126 746440212 366561910 620102841 307678310 431791316 612202750 147594586 657098366 693639915 672986421 613526963 151770518 516683782 444526238 339032476 812408731 949783735 642796834 657385344 703737037 885488104 892789989 738736480 718572606 512257818 700728845 273543526 823361574 191370778 403041137 148969397 479272910 851576804 468831172 186341134 891777912 480280011 253936560 217530251 967962553 243319126 537979036 135673517 466332769 267255835 984517518 935587453 337898293 499571873 105063892 275245923 394671835 721575718 776435065 473678100 889811624 306088593 841809230 619764139 617695119 320482292 598679773 859202738 128671062 222414804 350899780 666785258 334905978 500215875 620487209 795964879 944551393 934507071 596008554 624463169 572170164 940791598 916019716 226031623 182436472 841914558 949986718 291868999 643683355 902020462 283827656 904295872 864687476 957780951 159545011 535841564 944754818 449547215 509319102 574193791 519690621 554987950 574576760 773119409 489902285 318350688 738707047 312059410 437400034 337701803 855466994 361841883 776392582 275155622 834881023 352253642 591017412 130700804 496976070 160250730 120252393 253300633 784720417 692369871 242392792 366104884 970729710 729237880 732916937 522282194 616805894 483996695 357900348 580786882 269461753 256397003 353665802 537878563 804805176 653805873 310255128 960594129 800418222 393627419 197904513 724480879 960856022 921564812 305368269 817749403 628966255 812358625 570611608 680181851 329424177 118377415 846514937 313345020 568464719 513012202 151085262 547907345 344227820 333546676 226486807 329905447 247862725 644299011 611451165 944720706 243426350 418299962 249865885 980463895 741438044 223269761 367754753 785075214 317885671 635810750 666574397 356329107 702833804 355863596 869914004 946474168 435567724 258970209 601539621 327152218 574386234 326785683 407224213 791137676 526240242 325068948 790067415 578415547 587535731 448420476 195734046 625552496 988736597 542285094 773971286 569263405 917526776 324791725 675803197 174983243 996399690 940461502 265196772 597043999 486810967 509007882 621849035 826947872 915288829 766128407 747535011 586461542 899907425 182717665 582722201 503736255 209436863 584407457 185658079 363043080 113651849 348824089 641398773 536481603 341124428 872206435 125167282 858587649 612446600 266718207 700263211 764853467 550219191 987849106 702809797 162359994 822057207 996888205 487226939 340795370 124010543 748844744 829098441 336048630 728614183 157000663 551127642 433810748 766768342 427379091 920727311 183597812 379536103 672610349 914335388 153649007 925401117 812230755 236254666 184162315 921432612 964552229 311629584 571872057 410011884 225416301 648730818 787856637 717056499 447963375 937474732 207753980 777594250 638383032 258089410 985136764 200392648 190093249 567944165 881050233 218869498 626828659 583468970 498621553 932433202 297122070 395343616 792306256 923540923 836463487 100145270 619415213 487633579 912491413 511560079 442204234 996118559 543030249 198426576 623397047 947172312 695020767 482394817 659158774 706498066 943596186 859936954 239329560 116710304 201100385 961027110 738595663 429172821 328683445 548266773 825539834 772114768 481219321 972675242 225219383 433984431 484740139 651034203 171493931 548620093 604505212 844213781 147959923 814155637 688772469 363193505 556249737 606405547 356136903 426415503 246393313 420225117 605670409 391804483 743032516 717754573 755055536 651023877 812975673 446469575 439111594 105371640 687086063 382142362 337838782 616975725 409533396 751297178 562400245 596322575 993503865 302018006 422236914 372639795 637160680 797311683 348826485 255728562 746384448 244179332 660879526 391666301 101067028 604498135 642651574 638498015 499418924 321418346 461377155 585584900 437682145 243837787 601794889 296911851 620692895 629562101 729214001 155275134 212110259 858423754 826739600 294336409 169734224 340272280 130091596 976220035 693098705 657758645 631070672 895633897 972379830 716648078 109136505 378911746 786204790 311320163 491746304 262828122 830227738 820641476 735768689 344256988 288100731 200361958 897907076 930746036 620332570 411714695 538708509 629252242 344180601 370291748 884129182 848642731 637512586 484936481 868996564 567391644 925291673 368106960 236801834 152824649 176058461 102248353 421378384 159604722 437019690 224750344 604247497 780938423 109724547 123122534 964172327 993274018 790403124 472634980 778441662 202478270 287372512 752000431 453216155 996766691 442867229 578770623 441166363 165987036 965918295 568355025 312330701 195225561 595990467 694964162 902165029 675065808 837110878 927772353 968017261 705798309 283009430 214488482 994070677 533624099 310127547 273474450 420854536 228056917 267122713 548936627 520752592 451573591 690967113 397465185 586523861 783089526 705809399 240466964 658777657 103690989 770603454 570230861 345689856 709821005 157254113 888554039 979116835 666259579 205287498 280787416 269647031 271784279 201549032 133847928 145399960 924852031 828634448 928237292 197857082 805872682 829324717 766855571 216313905 383023684 405394590 705325717 475330178 526626673 809217334 553503629 856074691 208284780 231664934 600887110 723641913 124519296 858429750 199974556 664412071 630704379 518038835 908267764 738091704 757654526 538407836 424914418 682979263 351947297 223509259 848940712 570377788 138733499 633871275 701216936 371451719 562144680 723951838 458308831 403334281 908915574 406719162 915423521 495478929 805067853 662345256 497922480 906475985 921663090 138659410 721593000 834546463 355589190 966079648 339007373 884333370 489038196 402806442 978490856 506124361 177862369 924808521 537958130 319287491 658629699 298476924 967709257 947808666 320418487 395842396 191510400 120139877 227790391 375754949 677083382 256730803 410053188 459855367 103991303 730054769 748936085 455316556 193889072 383606209 240181863 957526094 115247106 152626455 129133469 865524680 874933998 456636417 431139924 608551046 637427612 642154580 961204860 411578982 726735882 608819134 836295525 329279646 789183083 611087469 760329421 501729771 271187041 882057530 429566024 220993926 349186547 698095086 467007942 229217630 591116993 134903843 483705576 774120694 239901734 838463679 233209094 284127367 597602305 871464982 887099767 166257274 869313036 758008800 538791657 299443611 137817908 814053611 578642698 300456719 751829582 971966948 694932901 329413030 793997777 444046470 788111987 385936516 588109294 354675257 580753560 190434909 121214515 160697817 259893576 450916506 124011422 925444813 173079266 672355930 416708814 773506865 274735707 503556326 953729572 854420477 771382198 604215929 342489032 510262069 311606610 749992967 314323761 527697047 100128853 696315544 259483999 394643100 570991993 659336531 888010694 654007125 439225927 261214193 742110177 949637048 107996992 750354732 879811518 359428165 206675858 256475631 288397093 656743583 475378296 902037609 780825117 208088682 285276302 647894734 944687748 474942322 430274316 874949013 511900831 775217671 510907629 615487672 425222927 703931177 417667659 905267202 361654453 905124862 532372672 721891056 361981719 559331775 404961890 772494536 703762392 474131372 287829435 796518798 151414050 257735121 561788804 768534375 418968300 637778892 397133446 214689083 439395462 586050027 695383382 591900993 725720205 115787567 109871351 174393680 282600953 280513856 528321515 657808168 524813656 866371645 763844519 160436309 983858225 479214301 801426689 841910599 725427924 851387301 792825301 577134785 468448406 405079530 693269147 753260334 117275064 197369919 166008940 781243957 563935523 365217634 110868324 128129881 445025532 273439346 432596235 839841553 335045259 704058589 996757852 233884783 457849597 292089314 935368229 305897812 933042938 890897066 515609441 936950699 250271098 647471080 630533910 169543760 208431611 846338540 770302883 581240565 477365145 344338595 862220018 957532611 969250678 626130997 439166073 870046498 878204827 889249056 368563462 639758373 913737130 811175507 322821365 194209200 671273168 393355984 894740915 537934171 795480131 633688410 231321774 362261368 860384105 897547319 565513606 641791270 815794384 954059509 588577743 536322237 372943009 309123061 713623067 538415632 596437700 780895344 592336010 338833811 174239939 854584543 614991857 909207539 485789906 469426554 795597664 201862944 146089796 338555598 913169423 993568476 186642153 708765141 154626361 819132879 861590413 654440233 697119044 686576127 158264890 906204105 343604318 156927670 309532690 610902671 229435252 722024774 232854674 114024326 185770366 801265314 674477247 676281850 612171998 815601788 176896368 590368261 448947584 651839194 485365765 578060858 430986450 624017233 783760523 395464261 577348128 420287410 308612179 498839809 451581956 255089134 815529893 704990189 942520694 823994697 260359409 894387352 628337141 714825073 646016261 153926425 181542709 729899784 908464692 946325096 441966525 261282758 460102089 246200233 336920475 104012916 218895305 454518789 720241209 197137629 327187420 993439020 624868867 136540394 454450515 795924571 585556889 617891233 812661035 763079437 252480984 302849821 914018144 154936690 679393290 173260872 638597915 372084980 756966556 159166612 418280731 290722184 148018700 735898422 906747710 696703494 463676083 178656743 950183092 494959740 320000718 165147604 835250462 595934451 720364682 128687664 887995994 145901472 613502981 292893782 446382625 519764195 443105121 136907532 728629352 324196482 912202748 674692041 350134052 236691949 943637386 820047625 706599828 163621995 439213358 701129993 867177726 497026105 697679601 113748926 380416448 113295720 439551542 256181967 496275008 994713619 271759201 858112108 454315734 588677565 106124938 216651539 849519916 631738922 416637908 618259810 331037186 204834338 357946563 293964183 420885126 170740544 128088866 973653885 453333660 231491115 288651566 386462380 142539830 585462919 317547403 485724818 279885160 773058870 469740098 154832412 136143708 846022251 473567669 673304380 744968680 854749283 448399956 842174113 687796857 591287896 696895738 299604912 153112573 883340635 284674391 971168887 468022846 688282673 321956333 226502913 711745510 340443467 791368309 812316041 441433225 845121090 699077705 419866425 507746685 313062491 553600455 655720151 509215747 104131841 570964804 242978074 628806987 284246008 776423627 683852837 578541104 460072841 101688181 136918827 737186695 162109092 110810786 290214778 426611905 360209308 973424666 925413218 607615667 544231520 876027587 823424068 485933349 371120094 140139737 181583877 715543581 315621123 496492088 395188741 675502905 126839731 968240992 664622632 144946335 603808626 693928010 679217547 518126924 604320119 852721257 257192746 251020676 545450159 510272981 895811795 288942222 824518664 880031123 228113873 540460577 435521230 261537035 994865072 422397427 829602227 958218711 459363243 486373322 604293511 698422222 560685411 602103123 164920379 362646462 263968942 361108538 126228482 656422773 582289178 770411883 226330163 233647123 260393949 735878421 673572960 847632539 669664553 173850186 319622110 842375740 895860860 279145444 311866730 291251541 800741290 848068924 879189341 562977058 397035894 251225656 137293651 609073711 874781824 239174003 734952020 944638793 867487563 592204289 874621173 957866406 957156808 827928820 743855987 574354923 406231050 274201066 439243816 114631948 121566843 625717172 506955972 257896392 269905074 282131144 710914915 433679683 379877737 428118363 362467795 531667711 817060063 355217325 395140918 616412388 523959999 198159050 614626370 415525893 222334557 558226887 935147103 709802083 133723612 247617762 794071386 478097981 265715738 876838424 418314877 994439462 393036742 446560968 555440250 271924169 819817867 355480180 515439239 366387691 520047331 852793431 773287957 516996358 437719505 722876102 898508418 736118180 338326607 227733742 838083804 871412828 250298274 506764615 423447798 753541826 272567560 498399668 155588798 844843762 509829380 919701460 849951126 873728373 667438863 223373817 254850722 344294045 995998071 712639035 887818068 883639960 192648069 255285520 440838746 665174083 695202499 976182497 410245005 103745266 449492077 266419334 980331914 967718568 315040411 763107247 486213653 749816676 719584298 102389950 421405535 586057462 363839274 660086918 489944864 254603921 384887452 229945531 725790619 592613026 823740800 590979897 309194374 536111692 616725261 109967232 870957884 896615224 706166950 708062481 300419373 607169386 802858824 168229282 761919874 449664376 148501566 869059106 799019050 304157620 953372031 644865570 720195404 313926070 750221989 134548030 480151071 581054469 381362335 780190801 357500028 334533000 771192016 184418622 423193781 633147301 923917008 602586858 832584113 152706361 223146988 898150998 396113632 267856848 178270543 123407900 150733319 791178125 205322368 165619511 382960798 873545251 115813936 586762205 691533131 731704649 593755594 435683704 147168327 749675836 799028186 595469582 523686004 420881411 590013748 156126306 652675224 407986005 839952256 312582022 470351090 835793624 775784682 721064758 353778292 178793439 964316966 377519556 339226966 211863943 672249543 447243364 575805189 334053210 456808022 285155659 848273380 243896953 731869056 520900376 628336524 360559791 164885920 323411676 231123625 739573799 328605605 838196478 740694487 609228571 830945337 627465484 766602307 595487106 160362526 871926392 845080529 470206419 248338005 876247807 953530403 630977234 496567777 858516648 335806501 477459870 814073555 808037218 167699024 491169863 272439252 583719599 139018978 185379039 385544944 907193348 247929206 380143280 695278517 161732986 409894214 831937018 545358580 832926006 891214782 327183945 813985933 746297729 484691025 581619321 271800236 794522573 938467928 225104876 176101179 589881244 871766654 175760420 782218736 859478368 841080237 347337231 326272045 709458286 467954997 757434310 276273688 714023047 818035456 288429069 271126845 522867630 931008672 863358091 590942005 614394217 163264588 126552474 984334276 149879587 757219630 905065431 914065775 697996799 857325159 785648428 265612952 921605668 561225612 837067992 668209316 559903426 979194650 675607705 622636775 767869700 138783051 887411407 386417007 414134049 541792631 179953146 709955613 556662523 177947284 689585654 226296780 181269377 696544073 214842859 525176779 415198539 679504925 433181597 602402316 797786060 389311972 576476898 305489133 285007150 179695313 574432218 529414294 223959024 567645385 972863811 104517522 816118920 246103899 845641072 169910936 181728953 129979131 649242343 444218544 955732996 307190543 672306142 190142857 431632263 336790062 526322015 640134296 411334137 822866577 519421199 462801253 512671452 192099301 827087799 425860073 252542476 221604583 779116675 395325464 399699353 283272362 393335836 996098712 682084650 952958961 668993176 194399412 776350001 849899923 637084905 515967272 979927315 655512894 936532673 260308495 514500036 820021029 119589190 918905752 905972111 281253340 200535522 834294186 368030515 194975600 822035565 926060154 956390721 500063053 687139252 124630889 172444908 168498095 725831679 539103763 693700784 820757660 128764692 549355673 175122890 380599689 788699764 989346618 257473769 501902831 932502285 592337076 342964856 745443145 500311902 845352074 390955960 276019598 708039028 864339181 656937058 113434234 174311165 653136836 802981387 143368759 692883322 120699179 759776422 365492151 791044637 797887339 195630444 246291235 681765194 262986195 457303080 692610832 267490038 913319437 518998210 405619519 286656565 495476112 233940231 294628841 192207787 637652276 187078994 960504883 617755629 546344604 423921892 488727397 535350255 786791977 867139839 682805284 810156511 418499814 404502471 119610130 744772519 869784735 273502783 667599613 580844185 430455511 134995073 700888427 353922869 659774334 562339108 421194492 190703276 656213374 321371689 212110604 581912226 849353832 808695031 945013309 513611904 690296105 396602639 792038675 641248393 812409270 757391420 544842883 908687216 205569023 959238590 910526270 646132250 932843471 557866571 437838184 871719869 345915696 901544537 774028235 121299441 454851701 933062029 660548749 175006012 463113083 997463030 596740956 972484386 878129945 864303460 992053916 138385925 543979761 108226235 746982617 863856583 561427428 744609610 814498315 318621024 541027725 556112689 375731200 561604707 880233164 534055111 569128165 165899827 962551454 627854361 879414447 380754920 967029120 596208763 375043681 120154346 840766851 943362804 248160363 969362237 246349688 419957381 714532538 634991956 410904290 130501299 657039487 984160890 182089426 881200039 390405646 269672255 993224921 984310613 868828943 552554437 575288021 437177476 402493731 308416615 402101090 983612379 519978913 514765955 495431210 838145191 190810615 244725379 679313191 334335878 341058241 656377110 907457591 625039643 951310200 342972550 321125051 606932282 715611730 255721591 967749415 180524624 977169777 567003524 637521724 720722449 416783725 513023552 994080770 331060934 456817136 844989490 557917784 497552737 366528954 765965097 777319635 683676851 887769875 116028157 640847225 108056562 198805248 980506166 892041048 483879668 136301802 623859399 896084654 106608399 138940320 779255351 689261655 189167193 279595851 128797879 564365260 716350938 840987168 446836626 998739249 409001129 751857463 672284192 361474372 189574764 379435901 826456988 178681141 967251658 139167307 963477664 319585337 713971485 630107657 930641460 426653011 717484682 266624130 941841068 554316517 521483096 137379466 285102136 631074653 712899179 593939711 895089147 871690577 501345353 254040539 932836334 522937037 703726486 129664507 882566167 208309971 428626653 732798845 242933460 300991333 674512783 725096080 438563253 283952739 192007536 422044243 703314643 542649589 716605098 587618386 885194201 959984794 475971662 352143106 831768378 415034585 847059551 593551795 229656212 380781766 430422005 971105924 407469939 511560478 415689616 699729215 397759146 306682126 995469473 712072698 199754463 534572900 188687232 794164887 605714120 411512516 488662009 677446889 423728554 657782919 767034228 104812672 995798451 146063744 416919798 592553201 613208032 173332405 340503999 589105611 597454550 843744578 340503401 692792905 974593085 282937119 941960000 371566053 418682185 334535401 889784876 506134334 798073894 827375908 727133445 446374598 693404885 616304468 327546482 512243954 647159769 100208955 991782523 133643512 921589657 840745970 367293053 982025938 682224511 876613741 382215005 837925276 946030277 303935680 180314390 899033927 417049975 329344131 282106363 263908247 396714891 452475679 618928378 715325471 371970780 301106220 841133447 255627869 178785787 364845881 572772192 645168808 972956632 102800790 382612550 763369437 495298793 330955516 298769072 210867031 809281387 851394664 720261421 713930013 485606700 293020455 335447384 100949002 130637132 933870317 932963471 713229680 826848942 694487816 903834504 126042996 839557563 847547019 320342837 403381768 611247046 669344474 945990853 995829443 721603987 413260864 989885297 554464559 944265797 826739588 524208802 770191660 191909263 188489638 501113318 549436132 524378271 596407538 931969236 459158382 354988688 896913795 883623357 711933821 975161997 623926123 882518797 489788156 920313836 380365073 513539501 723665902 396699655 124179399 338627211 964002184 164168742 139210271 640898378 235482940 874937459 368596128 593034601 120266789 455025338 198410768 798739034 590452290 622607863 701459424 944486977 404625283 481550875 594552858 626125966 344516344 474623733 921100675 579551441 681833030 445107234 112404492 720154171 194095688 285085053 624027833 889761269 201712028 750894239 396983251 959202364 969053351 808770011 661220391 366325123 870174374 580498537 936795235 866640469 119830540 171036403 690845069 516754177 452761575 796910415 908452361 406259078 158228504 995109629 833885678 444062001 427941784 532816614 141618892 908840437 963791510 126737862 655301499 644104106 856094850 805865749 604864871 713960960 197967651 605786127 664908663 892788830 939120124 666381684 351318510 885179606 574954948 788695141 652767016 532506874 353641041 641921823 481579542 676511468 729884894 638103916 148206804 986639114 533567124 856261115 697343170 439550965 466523669 274644283 449152820 453940580 468220661 224860209 295830842 624895443 647230246 171007492 495278442 538115603 849714934 608804571 685788409 231511080 756620234 480358713 601855224 406699404 228236745 298850283 835290481 404987141 955931424 729221892 758475626 179728570 853210905 434171377 860728397 646806486 892822856 927984900 341612133 825038882 277972341 754564193 637850102 951180282 352670654 542810279 515398389 456743273 241988422 450314988 756151487 546967474 975714087 758894218 762229804 260547314 306667515 649673216 636313895 705096309 838558190 595813898 431043378 290702868 535544433 458813163 630041360 823888026 777512663 565415047 290816481 147686417 260475551 914484118 714903846 915038503 673507270 211324488 389388399 662197134 944161837 359493599 820838027 796200231 781500413 754942730 760476780 349194715 421696467 354360299 575854121 440639474 842916179 931569562 120755507 492674107 761747095 373309336 641825692 171503673 782334368 234350894 326732018 589517766 420086308 398196412 404271930 891363545 882178164 839363361 827631161 471037901 284383402 738584413 918784965 438018270 111056157 595453890 278165179 908085463 922262839 776601100 631093312 238399431 283956365 674947510 405034906 816968143 266943024 876278637 102075517 135538744 977997845 239681665 497099156 594730289 129198592 568192826 181512888 542959438 350915573 158691039 457471205 375856258 152162047 389912889 959562305 974490922 552756087 875483435 290466571 417438865 220438948 320997702 443191345 948280374 148345395 845063250 661178356 922850090 925081288 679054262 869889429 560727825 567516906 891546859 614777280 225759272 178417440 259785615 550931425 567146470 545506351 674750780 847846737 400488782 784113482 325095799 526516487 803557059 396912169 942486729 134596004 847517802 493694052 918081776 328388882 782265991 865103498 683687370 381134666 687981948 563815315 141344620 194779905 771044283 487287992 417355292 327750375 291586725 495961948 147657963 259421294 111596756 511417560 658626141 217218492 533100227 109569556 702366153 398295617 329723094 628728372 471148156 946153356 563715493 847398322 292529177 349772003 460186687 941792560 917499520 904986632 147126135 245076615 441593813 195643984 131159543 217982399 290534548 140859309 923919251 931964261 226561843 478883902 815557810 409819440 916468181 908977553 560819720 314192665 780772654 564336437 355453891 785874114 694692534 951148423 584643560 583337642 890439547 416031659 754912948 259214524 277201257 653105487 511319461 658243980 114221775 449324985 244208917 598068078 495254787 895146641 532561745 332129304 954983089 723579360 717900878 101432814 191970945 959040475 595888975 371213209 632269033 925155655 332204479 957297493 170752158 920571747 997733103 811064776 448277136 353954542 513308411 150238813 174141924 900442924 166242930 579438666 279274200 281926786 228797891 411018214 362588590 863222796 649497656 331372962 828052033 435998411 356081990 279797536 931492199 610038871 925369185 197356256 337000896 570983940 900236698 723699762 906819783 115922766 106808441 255949594 398118213 871504684 670778089 877024916 420157726 209411771 175471870 949944878 648263867 617840114 946237978 282155513 734409043 592933028 769890791 939448581 128995803 810071918 976567988 834163344 789283423 946340606 841595711 268532001 403980568 462652650 423350229 842076161 995193175 466665995 606600815 622858183 422220001 704424544 850189247 202162082 488373248 401800338 161092581 229269684 375153964 571084252 535290483 729107293 403856055 525608949 765143599 659399289 933070938 870009220 131043042 355693391 353451948 905961182 754655164 929642314 548898142 740872971 441142342 426801454 161213956 913381488 967928758 687902389 320284601 380042846 415101906 963514222 517493516 970796021 481716856 845323472 240866015 679584608 856025014 574097290 572999180 808336673 308451451 316998982 991113289 613710527 691518005 382879302 525201685 758124802 372064107 636260464 791112673 164483285 259924443 136925286 516863101 643756798 728135646 148977022 210524868 638263234 601263654 914337623 767922207 428839160 104934579 435835049 142246685 343809645 281225086 526974693 426254701 343607159 818783408 221467164 394411532 243134918 756951739 804613353 468855726 993941853 670158754 922175160 122223532 251127129 760036844 666220069 646983247 797431989 575444360 200831886 142671605 384203617 735813748 471060949 793956093 977007313 806284806 248132956 714182352 399031934 739420910 251762680 313660883 177147046 484956598 356504995 244262008 976313921 972666936 590155990 685615481 231888022 406347599 606567536 904962970 601128669 258425794 667983485 436884919 633712374 896378635 784783254 494455624 402151268 916350494 372331235 997148739 996683576 164593702 337921221 768588223 304741060 240044055 185365302 819988592 863116015 272387179 717747944 389301006 488610655 476506899 256907003 150862837 839404275 159479138 512331174 579750934 425450207 240018726 749392856 184181292 775948967 338462366 525103620 634116300 170218696
